el-autocomplete 自定义传参的方法

问题

1
2
3
4
5
6
<el-autocomplete
v-model="state"
:fetch-suggestions="querySearchAsync"
placeholder="请输入内容"
@select="handleSelect"
></el-autocomplete>

这是 Element UI 官方文档中 el-autocomplete 的示例,而这里的 handleSelect 默认绑定的参数是你选中的那条数据。

但是如果你需求用 v-for 生成多个组件,要把 index 给传进这个方法,你可能会这样做:

@select="handleSelect(item, index)"

经试验这是行不通的,那么该如何做呢?

方法

1
2
3
4
5
6
<el-autocomplete
v-model="state"
:fetch-suggestions="querySearchAsync"
placeholder="请输入内容"
@select="((item) => {handleSelect(item, index)})"
></el-autocomplete>

这样你就能在 handleSelect 方法中拿到 index 参数了。