详解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 相关文章推荐
js宝典学习笔记(上)
Jan 10 Javascript
零基础学JavaScript最新动画教程+iso光盘下载
Jan 22 Javascript
用JavaScript显示随机图像或引用
Apr 21 Javascript
基于jquery实现状态限定编辑的代码
Feb 11 Javascript
Js Jquery创建一个弹出层可加载一个页面
May 08 Javascript
node.js正则表达式获取网页中所有链接的代码实例
Jun 03 Javascript
jQuery提交多个表单的小技巧
Jul 27 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
Aug 13 Javascript
Angular4学习笔记之准备和环境搭建项目
Aug 01 Javascript
JavaScript变量类型以及变量作用域详解
Aug 14 Javascript
JS二分查找算法详解
Nov 01 Javascript
Vue实现购物车场景下的应用
Nov 27 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代码 适用于登陆页面制作
2016/08/17 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
javascript针对DOM的应用分析(二)
2012/04/15 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
详解JavaScript数组过滤相同元素的5种方法
2017/05/23 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
js实现简单模态框实例
2018/11/16 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
Python编程之微信推送模板消息功能示例
2017/08/21 Python
Python内置函数delattr的具体用法
2017/11/23 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
业务员薪酬管理制度
2014/01/15 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
地理科学专业自荐信
2014/09/01 职场文书
会计岗位职责
2015/02/03 职场文书
加入学生会自荐书
2015/03/05 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
小学语文教学反思范文
2016/03/03 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
canvas多重阴影发光效果实现
2021/04/20 Javascript
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL