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);

  }  
}
相关推荐
汉堡go14 小时前
python_chapter6
前端·数据库·python
wusp199414 小时前
v-model 和 :value 的深度解析
前端·javascript·vue.js
2501_9444241214 小时前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌表情图案
开发语言·javascript·flutter·游戏·harmonyos
Code知行合壹14 小时前
Vue项目中SVG图标
前端·vue.js
SJLoveIT14 小时前
【安全研发】CSRF (跨站请求伪造) 深度复盘与防御体系
前端·安全·csrf
pas13615 小时前
34-mini-vue 更新element的children-双端对比diff算法
javascript·vue.js·算法
小二·15 小时前
Python Web 开发进阶实战:数字孪生平台 —— 在 Flask + Vue 中构建实时物理世界镜像
前端·vue.js·python
CHU72903515 小时前
安心陪伴,便捷就医:陪诊代办小程序的温暖设计
前端·小程序·php
ashcn200115 小时前
websocket测试通信
前端·javascript·websocket
weixin_4046793115 小时前
edge alt tab怎么关
前端·edge