el-upload 同时选取多文件上传,文件列表却只传了一个

背景:使用element的上传组件,在使用多文件上传时,发现如果同时选择两个文件,上传完成之后,upload组件的列表只显示一个文件。

通过查看控制台发现on-success方法在上传文件时,只执行了一次。返回的两个文件,其中一个状态是uploading。而我们取文件又只取了status是success的文件。

解决:重点在于on-success中的那句文件列表上传状态的判断 (Vue3版本)

javascript 复制代码
// 上传成功回调
function handleUploadSuccess(res: any, file: any,fList) {
//等待所有文件都上传完成,这里注意fList是所有的文件(包含已上传的)
  if (fList.every(v => v.status == 'success')) {
    console.log('处理字段')
    //处理字段
    fList.map(item => {
  item.response && uploadList.value.push({
 name: item.response.data.original,
 url: item.response.data.attachUrl,
 id:item.response.data.id }); //只push新上传的 (带有response)
            })
    emit('change',  uploadList.value);

  }  
}
相关推荐
黄团团8 分钟前
Vue2整合Electron开发桌面级应用以及打包发布(提供Gitee源码)
前端·javascript·vue.js·elementui·electron
勇气要爆发14 分钟前
问:LocalStorage、Vuex、Pinia的区别和本质
前端
Aerelin15 分钟前
iframe讲解(爬虫playwright的特殊应用)
前端·爬虫·python·html
Drift_Dream19 分钟前
IntersectionObserver:现代Web开发的交叉观察者
前端
9***P33431 分钟前
前端错误监控工具
前端
东东2331 小时前
GeoJSON 介绍:Web 地图数据的通用语言
前端·javascript·json
之恒君1 小时前
Promise.resolve(x) 等同 new Promise(resolve => resolve(x))?
前端·promise
Tzarevich1 小时前
JavaScript 原型链:理解对象继承的核心机制
javascript·promise
亮子AI1 小时前
【Javascript】jsondiffpatch检测到子节点改变了,父节点会标记为改变吗?
开发语言·前端·javascript
T___T1 小时前
写着写着,就踩进了 JavaScript 的小坑
前端·javascript·面试