iview框架table组件中设置允许多选情况下某行选框置灰不让选择

官方文档:table组件多选情况设置某行不让选

参考:

通过给 columns 数据设置一项,指定 type: 'selection',即可自动开启多选功能。

给 data 项设置特殊 key _checked: true 可以默认选中当前项。

给 data 项设置特殊 key _disabled: true 可以禁止选择当前项。

正确使用好以下事件,可以达到需要的效果:

  • @on-select,选中某一项触发,返回值为 selection 和 row,分别为已选项和刚选择的项。
  • @on-select-all,点击全选时触发,返回值为 selection,已选项。
  • @on-selection-change,只要选中项发生变化时就会触发,返回值为 selection,已选项。

 

 

 

 

 

 

最终代码展示:

 


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果不想使用`type: "selection"`属性,可以通过渲染自定义的复选框或单选框来实现全选、全不选、单选、多选等功能。具体实现方法如下: 1. 在表格的columns添加一个自定义的列,如下所示: ``` { title: '操作', key: 'action', width: 150, render: (h, params) => { return h('Checkbox', { props: { value: params.row.selected }, on: { input: (value) => { params.row.selected = value; } } }, '选择'); } } ``` 2. 在表格的data添加一个selected属性,表示当前行是否被选,如下所示: ``` data: [ { name: 'John', age: 20, address: 'New York', selected: false }, { name: 'Mike', age: 25, address: 'Los Angeles', selected: false }, { name: 'Tom', age: 30, address: 'Chicago', selected: false } ] ``` 3. 在自定义的复选框或单选框,绑定当前行的selected属性,如下所示: ``` return h('Checkbox', { props: { value: params.row.selected }, on: { input: (value) => { params.row.selected = value; } } }, '选择'); ``` 4. 在自定义的复选框或单选框,添加一个全选或全不选的按钮,如下所示: ``` return h('div', [ h('Checkbox', { props: { value: isAllSelected }, on: { input: (value) => { this.selectAll(value); } } }, '全选'), h('Checkbox', { props: { value: isAllSelected }, on: { input: (value) => { this.selectAll(!value); } } }, '全不选') ]); ``` 5. 在selectAll方法,遍历表格的data,将所有行的selected属性设置为相应的值,如下所示: ``` selectAll(value) { this.data.forEach((item) => { item.selected = value; }); } ``` 通过以上步骤,我们就可以实现自定义的复选框或单选框来实现全选、全不选、单选、多选等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值