[ElemeFE/element]开启show-file-list=true的情况下before-upload方法return false终止上传的时候,上传列表中会出现被终止上传的文件item(且无法remove)
回答
确实有这个问题,我也碰到了,如下图后面2个框就是beforeUpload返回false时出现的
找了个办法曲线救国,哈哈,beforeUpload返回false之前,先把当前文件列表临时存起来,然后清除文件列表,最后再给组件重新定义文件列表,具体代码如下,临时解决下,等待官方最终解决吧
var me = this;
var tmpFiles = _.clone(me.imageList);
me.$refs.uploadAvatarUpload.clearFiles();
me.imageList = tmpFiles;
用户体验上感觉不出差异
@yinshuang100 你这个imagelist是自己定义的吗? 跟组件本身的fileList没关系吧 beforeUpload只有一个file参数
@huangkuikui 我的imageList就是el-upload的属性file-list绑定的值
@yinshuang100 同样被这个问题困扰...请问你那个.clone方法能单独提取出来嘛? 或者这个""是哪个库来着? 我一时想不起来..真尴尬...
找到更简单的解决办法.. 直接在before-upload的方法里面return false;的上一行直接加如下代码即可! this.$refs.uploadRef.uploadFiles.pop();
注: 需要在el-upload标签上添加ref="uploadRef"属性.
@michael829 在v-for中的upload这个办法不行,在循环中uploadRef变成了一个数组,而不是原来的单个对象,需要在点击按钮的时候给传入index,即变成this.$refs.uploadRef[index].uploadFiles.pop();
@michael829 _.clone是Underscore.js里的方法
@mehooo 修复了,下个版本升级后注意把你的hack去掉,不然会造成两次文件的移除
@baiyaaaaa 更新版本就可以了吗
@huangkuikui 新版本还没有发布。
@Leopoldthecoder 什么时候发布呢,现在能给个标准点的解决方案吗
@huangkuikui 还是等新版本吧,五个工作日内发布。
@Leopoldthecoder 新版本还是存在这个问题吧