详解element上传组件before-remove钩子问题解决


Posted in Javascript onApril 08, 2020

应公司业务要求已上传文件删除前提醒确认代码如下

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钩子问题解决的文章就介绍到这了,更多相关element上传组件before-remove钩子内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
学习YUI.Ext 第七天--关于View&amp;JSONView
Mar 10 Javascript
JavaScript实现网页上的浮动广告的简单方法
Jun 14 Javascript
instanceof和typeof运算符的区别详解
Jan 06 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
Dec 31 Javascript
IE中鼠标经过option触发mouseout的解决方法
Jan 29 Javascript
JS实现n秒后自动跳转的两种方法
Nov 30 Javascript
JavaScript实现替换字符串中最后一个字符的方法
Mar 07 Javascript
微信小程序 页面跳转如何实现传值
Apr 05 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
分享5个好用的javascript文件上传插件
Sep 16 Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 Javascript
使用 UniApp 实现小程序的微信登录功能
Jun 09 Javascript
javascript 设计模式之享元模式原理与应用详解
Apr 08 #Javascript
javascript 设计模式之组合模式原理与应用详解
Apr 08 #Javascript
JS async 函数的含义和用法实例总结
Apr 08 #Javascript
微信小程序以ssm做后台开发的实现示例
Apr 08 #Javascript
JS co 函数库的含义和用法实例总结
Apr 08 #Javascript
JS Thunk 函数的含义和用法实例总结
Apr 08 #Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 #Javascript
You might like
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
JS中Location使用详解
2015/05/12 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
Javascript之高级数组API的使用实例
2019/03/08 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
关于Django外键赋值问题详解
2017/08/13 Python
python flask安装和命令详解
2019/04/02 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python函数中的可变长参数详解
2019/09/12 Python
Python解析json代码实例解析
2019/11/25 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
Django如何重置migration的几种情景
2021/02/24 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
教育实习生的自我评价分享
2013/11/21 职场文书
简单英文演讲稿
2014/01/01 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
节水倡议书范文
2014/04/15 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
管理失职检讨书
2015/05/05 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书