重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“怎么解决element上传组件before-remove钩子问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联拥有10年成都网站建设工作经验,为各大企业提供网站建设、网站制作服务,对于网页设计、PC网站建设(电脑版网站建设)、app开发定制、wap网站建设(手机版网站建设)、程序开发、网站优化(SEO优化)、微网站、国际域名空间等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了很多网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等网站化运作于一体,具备承接各种规模类型的网站建设项目的能力。
应公司业务要求已上传文件删除前提醒确认代码如下
if(file && file.status === "success"){ return this.$confirm('此操作将永久删除该文件, 是否继续?', '系统提示',{ confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning', center: true }).then(() => { this.$message({ type: 'success', message: '删除成功!' }); }).catch(() => { this.$message({ type: 'info', message: '已取消删除!' }); reject(false); }); };
确认会直接调用on-remove方法具体业务代码如下
if (file && file.status==="success") { this.$axios.delete("url" + data); }
下面是 before-upload 上传文件前的钩子,在遇到大于10M的文件时,我们返回false
//图片上传前钩子 beforeUpload(file) { this.loading = true; const isLt2M = file.size / 1024 / 1024 < 10; if (!isLt2M) { this.loading = false; this.$message.error("单个附件大小不能超过 10MB!"); } return isLt2M; // return false; }
但是这时会出现自动调用before-remove on-remove钩子
其实此时我们根本没有上传文件,所以也不会需要删除操作,然后我的代码就报错了。
解决办法如下:
//删除图片 beforeRemove(file, fileList) { let a = true; if (file && file.status==="success") { a = this.$confirm(`确定移除 ${ file.name }?`); } return a; }, //删除图片 handleRemove(file, fileList) { if (file && file.status==="success") { this.$axios.delete("accessory/one/" + file.response.id).then(resp => { if (resp.status == 200) { this.$message({ message: "删除成功", type: "success" }); } }); } },
把不需要执行的代码放入判断内。
if (file && file.status==="success") { }
“怎么解决element上传组件before-remove钩子问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!