需求:点击编辑的时候 弹出一个模式框 显示已经上传成功的附件
遇到的麻烦:我的显示列表 用的upload组件里的 :show-upload-list=“true” 无法动态显示 :default-file-list=“defaultList”
<!-- 附件 -->
<FormItem label="附件" prop="enclosure">
<Upload ref="upload" v-model="caseEditForm.enclosure" :on-success="uploadSuccess" :on-error="uploadError" :headers='{"userName": userName}' multiple type="drag" :action="actionUrl" style="width:300px;" :show-upload-list="true" :on-remove="handleRemove" :default-file-list="defaultList">
<div>
<Icon type="ios-cloud-upload" size="50" style="color: #3399ff"></Icon>
<p>单击或拖动文件到此处上传</p>
</div>
</Upload>
</FormItem>
动态显示:default-file-list="defaultList"
1.初始化 defaultList:[]
defaultList:[]
2.调用后端显示附件接口 然后这里的关键是 this.defaultList.push({id:xxx,name:xxx,…})
// 显示附件列表
showAllFileList: function(){
this.defaultList=[];
this.$api.attatchment.selectByTicketId("id",this.caseEditForm.id)
.then(res => {
this.allFileList=res.data;
for(var i=0;i<this.allFileList.length;i++){
this.defaultList.push({
id: res.data[i].id,
name: res.data[i].fileName,
url: res.data[i].storagePath,
showProgress: false,
status: "finished"
});
}
})
},
3.顺利显示