<div v-for="(item, index) in contractData" :key="index" class="contractItem" >
...
<el-upload
ref="upload"
:action="uploadUrl"
:headers="uploadHeaders"
accept=".pdf, .jpg, .png, .jpeg"
multiple
:on-remove="handleRemove.bind(null, { index: index, data: item })"
:on-success="handleSuccess.bind(null, { index: index, data: item })"
:before-upload="beforeUpload"
:file-list="contractData[index].file_id"
>
<el-button type="info" style="margin-right: 20px">+添加附件</el-button>
( 请上传.pdf 或 图片文件 )
</el-upload>
...
</div>
// 文件移除ID
handleRemove(obj, res, file) {
console.log(obj, res, file);
this.contractData[obj.index].file_id.forEach((item, index) => {
if (item.id == res.id * 1) {
this.contractData[obj.index].file_id.splice(index, 1);
}
});
},
// 上传成功获取ID
fileSuccess(obj, res, file) {
console.log(obj);
this.contractData[obj.index].file_id.push({ name: res.data.name, path: res.data.path, id: res.data.id * 1 });
},
for里套for,在bind里写清楚对应的index和item
:on-remove="handleRemove.bind(null, { index: i, data: ite, pindex: index, pdata: item })"
handleRemove(obj, res, file) {
console.log(obj, res, file);
this.checkData[obj.pindex].changes[obj.index].attachments.forEach((item, index) => {
if (item.id == res.id * 1) {
this.checkData[obj.pindex].changes[obj.index].attachments.splice(index, 1);
}
});
},