由于文件上传dom是通过循环列表渲染的,在文件上传的时候除了file默认的参数外,还需要访问到循环项item参数,那就这样子传递。
:http-request="
(file) => {
return httpRequestLT(file, item);
}
"
完整代码如下
<div class="listcon_wrap" v-for="(item, index) in navList" :key="index">
<div class="left_wrap">
<span class="sortIndx">{{ index }}</span>
<div class="upload_box">
<el-upload
class="upload-demo"
ref="upload"
action="#"
:show-file-list="false"
:http-request="
(file) => {
return httpRequest1(file, item);
}
"
:on-change="changeData"
:on-success="handleSuccess"
style="display: inline-block"
>
<img
v-if="item.lightBg"
:src="'data:image/jpg;base64,' + item.lightBg"
class="avatar"
/>
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
<div class="upload_box">
<el-upload
class="upload-demo"
ref="upload"
action="#"
:show-file-list="false"
:http-request="
(file) => {
return httpRequest2(file, item);
}
"
:on-change="changeData"
:on-success="handleSuccess"
style="display: inline-block"
>
<img
v-if="item.darkBg"
:src="'data:image/jpg;base64,' + item.darkBg"
class="avatar"
/>
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
</div>
</div>