详解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 相关文章推荐
理解 JavaScript 预解析
Oct 25 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
Aug 09 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
js获取某月的最后一天日期的简单实例
Jun 22 Javascript
使用闭包对setTimeout进行简单封装避免出错
Jul 10 Javascript
jQuery 跨域访问解决原理案例详解
Jul 09 Javascript
angularjs实现多张图片上传并预览功能
Feb 24 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
Vue.js 实现微信公众号菜单编辑器功能(一)
May 08 Javascript
通过javascript实现段落的收缩与展开
Jun 26 Javascript
vue实现循环滚动列表
Jun 30 Javascript
jQuery 实现扁平式小清新导航
Jul 07 jQuery
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和ACCESS写聊天室(四)
2006/10/09 PHP
Destoon实现多表查询示例
2014/08/21 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
2019/07/19 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
对python的输出和输出格式详解
2018/12/08 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
2020/02/17 Python
Python configparser模块应用过程解析
2020/08/14 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
班组长工作职责
2013/12/25 职场文书
毕业生自荐书
2014/02/03 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书