如果像这种使用的是http-request自主上传,则在图片上传成功后调用this.$refs["upload"].clearFiles()清除已上传的文件列表。
如果用的组件自动上传,则在:on-success回调中调用清除已上传的文件列表。
<el-upload
class="avatar-uploader"
action=""
ref="upload"
:limit="1"
:show-file-list="false"
:http-request="httpRequest"
>
<img
v-if="formData.avatar"
:src="formData.avatar"
class="avatar"
style="width: 100px"
/>
<i
v-else
class="el-icon-plus avatar-uploader-icon"
style="
border: 1px dashed #999;
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
border-radius: 4px;
"
></i>
</el-upload>
// 图片上传
httpRequest(data) {
let self = this;
// // 创建 FormData 对象,并添加图片数据和其他参数
const formData = new FormData();
formData.append("unitId", this.$store.getters.userEngager || "");
formData.append("imageTitle", "logo");
formData.append("fileImage", data.file);
fetch(this.$store.getters.uploadBaseUrl, {
method: "POST",
body: formData,
})
.then((response) => response.json())
.then((data) => {
console.log("data", data);
this.formData.avatar = this.$store.getters.imgBaseUrl + data.data.url;
this.$message.success("上传成功");
//调用clearFiles删除已上传成功的图片列表
this.$refs["upload"].clearFiles()
})
.catch((error) => {
console.error(error); // 打印请求错误信息
});
},