2019-12-17 elementUI 多文件上传报错研究,造成上传文件重复

今天附上element-UI 的上传文件的坑,刚开始接触vue 我 的写法都是抽象方式,表格循环,列表显示字段循环,数据结构循环,数据重组也是循环

单元行 编辑  单元格编辑等等  验证 都是我循环写,利用ES6 的扩展方式和JS 底层的 指针方式,并不需要和网上大多程序员一样,需要验证的时候 对硬多层数据数组中的 属性名相互  对应结构,只需要对应映射指针堆的地址即可!网上的 编辑单元格我一致接的写的很low!,本次在执行上传组件的时候,因为初学的小白,
并不知道elm 组件的用法 ,上班的时候话了一上午  改这个BUG!【因为这个项目是标准6个月完成的复杂交互项目我们用2个月完成,包括 白盒 黑盒测试 ,今天正在uap】,代码  暂时不敢瞎优化,先拖着解决问题先!

如果用传统方式写按钮的显示逻辑,我觉得我的按钮逻辑至少有大几百行,我这里只用了不到1百行!抽象函数和高级高价函数的嵌套使用方式,我觉得第二个项目做完之后,这种抽象代码风格 ,非常适合 复杂业务,接口数50--200个以上的,目前我的接口数137个。

多个文件上传 的时候报错因为没有缺失正确回调文件的参数。且没有阻止文件执行验证 上传,而造成上传文件重复,第二 个文件缺少返回参数,这就是报错文件的映射对象


视图层

注意:

1:disabled 用来禁止重复点击,一个父 对象控制,一个子对象控制,单独控制【选取文件】只是禁用了按钮,没有显示出上传组件 的禁用 状态效果。
2:<el-checkbox-group v-model="fileLists" /> 巧妙的结合 elementUI的表单验证响应,绑定之必须是 prop属性对象。

prop传值层


初始化层

3:必须有初始化赋值,【watch 在初始化组件的时候 是不会触发响应的】

函数层

4:这里坑就多了==》
    4.1,onchange中的file.raw 等于其他函数中的file
    4.2,   多选时候,fileList 是组件虚拟化的数组,一定存在,你不给他也有默认数组。所以在多文件上传的时候,不论文件是否 合格,都按照上传文件的个数执行
              doUpload 这个函数,于是要阻止他调用这个方法,就必须在方法里截止调用,
             1 先在onchange 中 判断文件中是否含有不合格文件,存在 则关闭执行上传接口。【onchange】这里要注意的是,

               2   beforUpload 和doupload 是并连 响应的 , 前者中的file验证合格,执行后面的函数,所以前者要有返回false 才能阻止后者执行,而onchange 不论是执行多文件,还是单文件,都是一次一次的触发,所有这里控制文件 获取对象,在用beforeUpload,验证,则执行上传接口中的this.file文件所以如果改为:


上图为报错机制,接口调用,此时错误的文件this.file 是假对象


上传接口正确方式

可以改造下:  

第二种 这里返货false 就 能阻止onchange里监听的  不合格 文件 是否执行 上传 指令 调用下一个方式
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,530评论 1 32
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,844评论 0 9
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,250评论 0 10
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,671评论 0 3
  • 辞职一个星期了,整个人糊里糊涂的,不知道整天在干什么。不想出门,不想回家,什么都不想……就这样一直在租的小房子里过...
    爱幻想的男人阅读 114评论 0 1

友情链接更多精彩内容