element Upload上传组件文件上传失败列表依然显示
这个问题可能是由于Element UI的Upload
组件在文件上传失败后没有正确地清除文件列表。解决方法如下:
- 监听
Upload
组件的on-remove
事件,该事件在文件被移除时触发。 - 在文件移除时的事件处理函数中,检查文件状态,如果文件上传失败,则手动从文件列表中移除该文件。
以下是示例代码:
<template>
<el-upload
:file-list="fileList"
:on-remove="handleRemove"
:on-error="handleError"
action="https://jsonplaceholder.typicode.com/posts/"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</template>
<script>
export default {
data() {
return {
fileList: []
};
},
methods: {
handleRemove(file, fileList) {
// 移除文件的时候,也移除fileList中对应的文件
this.fileList = fileList.filter(item => item !== file);
},
handleError(err, file, fileList) {
this.$message.error('文件上传失败');
// 上传失败后手动移除
this.handleRemove(file, this.fileList);
}
}
};
</script>
在这个示例中,handleRemove
方法会在文件被移除的时候调用,并确保fileList
数组中不包含已移除的文件。而handleError
方法则会在文件上传出错时被调用,并调用handleRemove
来移除文件。这样就能确保即使文件上传失败,列表中也不会显示失败的文件。
评论已关闭