版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lily__an/article/details/89225902
element UI 组件默认传参和自定义传参的解决方法
如下代码
<div v-for="(item,index) in object.cooperationDepartmentNumber">
<div class="entrustingPartyList">
<el-row>
<el-col :span="12">
<el-form-item label="协办单位">
<el-autocomplete
class="inline-input"
v-model="object.cooperationDepartment.otherArray[index].unit"
:fetch-suggestions="unitQuerySearch"
placeholder="请输入协办单位"
:trigger-on-focus="false"
@select="unitHandleSelect"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="协办部门" v-show="interior">
<el-input v-model="object.cooperationDepartment.otherArray[index].cooperation" placeholder="协办部门"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="协办单位联系人" v-show="external">
<el-input v-model="object.cooperationDepartment.otherArray[index].cooperation" placeholder="协办部门"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
当我们v-for有很多个相同的组件时,我们需要知道选中的是第几个组件,那么我们肯定想要知道对应的[index],你会想到下面这样[item]是默认的值
<el-col :span="12">
<el-form-item label="协办单位">
<el-autocomplete
class="inline-input"
v-model="object.cooperationDepartment.otherArray[index].unit"
:fetch-suggestions="unitQuerySearch"
placeholder="请输入协办单位"
:trigger-on-focus="false"
@select="unitHandleSelect(item, index)"
></el-autocomplete>
</el-form-item>
</el-col>
解决办法是写个闭包,这样index就表示你的第几个组件
<el-col :span="12">
<el-form-item label="协办单位">
<el-autocomplete
class="inline-input"
v-model="object.cooperationDepartment.otherArray[index].unit"
:fetch-suggestions="unitQuerySearch"
placeholder="请输入协办单位"
:trigger-on-focus="false"
@select="((item)=>{unitHandleSelect(item, index)})"
></el-autocomplete>
</el-form-item>
</el-col>
这样你在调用这个方法的时候就可以知道是第几个组件对应的了,然后就可以对那个组件进行操作了。