前言
今天开发遇到了一个场景:循环里面放el-upload
,在上传文件时需要获取到循环的index
,但是on-change
自带的参数(file, fileList)
也需要用到,所以不能重写函数,只能新加index
原本是想根据vue文档里面的$event
调用函数的原参
![](https://img.haomeiwen.com/i4098869/86ee3d3902e3d738.png)
刚开始是这么写的:
<div v-for="(item, index) in list" :key="index">
<el-upload action="" :file-list="doc.fileList"
:show-file-list="false"
:auto-upload="false"
:on-change="fileChange($event, index)"
:multiple="false"
:limit="1">
</div>
然后发现报错$event未定义
,看了半天才反应过来是:on-change
而不是@on-change
,:on-change
是一个属性而不是绑定事件,所以需要传一个函数进去,最后改成:
<div v-for="(item, index) in list" :key="index">
<el-upload action="" :file-list="doc.fileList"
:show-file-list="false"
:auto-upload="false"
:on-change="function (file, fileList) {return fileChange(file, fileList, index)}"
:multiple="false"
:limit="1">
</div>
就可以啦~
希望各位可以互相交流,有问题麻烦指出一下哈~🥰
网友评论