解决el-upload遇到v-for的问题

 <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);
	     }
	 });
},
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值