非原创,转载自https://blog.csdn.net/qq_26314225/article/details/112345119
此文章仅个人学习中遇到的问题解决方法记录,感谢前辈们的探索。
<el-upload></el-upload>标签中有属性 :file-list="fileList"。
fileList 即存储照片墙的数组,格式为 [{name:xxx,url:xxx},{name:xxx,url:xxx}]。
实现数据回显,需要将上传成功的图片信息回传给的fileList,由于在上传完成之后,采用了push的方法操作了upload 组件的 fileList 数组,在使用 el-upload时便会出现一个上传进度的 loading 元素,导致形成一个图片被挤到后面,上传完成之后图片再回来。
解决方法代码部分:
1. 隐藏 loading 元素
/* 推荐,实现简单 */
.el-upload-list__item.is-ready,
.el-upload-list__item.is-uploading {
display: none !important;
}
2.避免 push,而是直接赋值给属性
// 看项目场景影响
this.fileList = [
{
name: res.imgUrl.split("/").pop(),
url: res.imgUrl
},
]