antdv中Table组件点击当前行的任意位置选中

使用antdv的带有复选框或者单选框的table组件,只有在点击复选框或者单选框时才能选中当前行,不太方便操作,现在需要在点击当前行的任意位置就能选中当前行:
在这里插入图片描述

  • 官网文档
    在这里插入图片描述
    在这里插入图片描述
  • vue代码
<a-table
 :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
 rowKey="id"
 size="small"
 :columns="columns"
 :dataSource="data"
 :pagination="false"
 :scroll="{y: 600}"
 :customRow="loadCustomRow"
></a-table>
  • js代码
// 变量
data () {
 return {
  selectedRowKeys: [],
  selectedRows: [],
}
// methods
loadCustomRow (record, index) {
 return {
   on: {
     click: () => {
       // 记录为disabled则直接返回,默认为不可选
       if (record.disabled) return
       const type = 'checkbox'
       const key = record.id || index
       let selectedRows = this.selectedRows
       let selectedRowKeys = this.selectedRowKeys

       if (type === 'radio') {
         selectedRowKeys = [key]
         selectedRows = [record]
       } else if (!this.selectedRowKeys.includes(key)) {
         selectedRowKeys.push(key)
         selectedRows.push(record)
       } else {
         const index = this.selectedRowKeys.findIndex(skey => skey === key)
         selectedRows.splice(index, 1)
         selectedRowKeys.splice(index, 1)
       }

       this.updateSelect(selectedRowKeys, selectedRows)
       this.onSelectChange(selectedRowKeys, selectedRows)
     }
   }
 }
},
updateSelect (selectedRowKeys, selectedRows) {
  this.selectedRows = selectedRows
  this.selectedRowKeys = selectedRowKeys
},
onSelectChange (selectedRowKeys, selectedRows) {
  this.selectedRowKeys = selectedRowKeys
  this.selectedRows = selectedRows
},
  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值