element-plus的 @change事件传递多个参数

 0 0条评论

项目版本

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) => {
    // 实现逻辑
}

这样就能传递参数啦。

本文作者:双黑

版权声明:本站文章欢迎链接分享,禁止全文转载!

游客