项目版本
vue: "3.2.36"
element-plus: "2.2.2"
需求:在el-checkbox事件触发后,函数需要传递一个自定义参数。
<el-checkbox
v-model="checkAll"
:indeterminate="isIndeterminate"
@change="handleCheckAllChange"
>Check all</el-checkbox>
官方默认的,会在函数获得一个value,表示该checkbox是否选中。
const handleCheckAllChange = (val: boolean) => {
checkedCities.value = val ? cities : []
isIndeterminate.value = false
}
如果,我想在handleCheckAllChange函数中,需要再传递一个参数呢?那默认的就无能为力了。
也是网上搜索一些资源,传送门。
最终实现代码如下,scope.$index是el-table当前行的索引
(以下是ts代码,如果纯js去掉相关类型声明即可):
<el-checkbox v-model="checkAll[scope.$index]"
@change="(val:boolean) => handleCheckAllChange(val, scope.$index)">全选
</el-checkbox>
script代码:
const handleCheckAllChange = (val:boolean, index:number) => {
// 实现逻辑
}
这样就能传递参数啦。