<el-upload
ref="upload"
action=""
list-type="picture-card"
:http-request="fnUploadRequest"
:limit="limit"
:file-list="fileList"
:on-remove="handleRemove"
:on-success="handleSuccess">
</el-upload>
给后端传参不要imgs:["url1","url2","url3",...]
需要imgs:[{id:'1',pic:'url1'},{id:'2',pic:'url1'},{id:'3',pic:'url1'},{pic:'url4'}...]
(后端返回的imgs字段会带有id,二次操作上传删除图片时,原有的带id,新增的不带id)
点击上传操作时触发:
let arr = []
this.getUnique(row.pictureUrlStaff).map((item)=>{
let obj = {}
Object.assign(obj,{url: this.$config.ossUrl + item.pic,response:{name:item.pic},pic:item.pic,id:item.id})
if(arr.indexOf(obj)== -1){
arr.push(obj)
}
})
fileList = arr
handleSuccess 和 handleRemove两个方法中:
fileList.map((item)=>{
let obj = {}
if(item.id){
Object.assign(obj,{id:item.id,pic:item.response.name})
imgs.push(obj)
}else if(!item.id){
Object.assign(obj,{pic:item.response.name})
imgs.push(obj)
}
})
数组包对象去重: