antd中table内添加checkbox踩坑记录

table是一些管理系统经常需要使用的组件,如果想要在table中同时操作多项,可能需要在前面添加checkbox,今天在项目终于到一个坑,使用的是antd组件库,但是在按照官网的例子引入时,发现点击其中某一行的checkbox,会将所有行的checkbox同时选中

在查阅官方文档后,发现有一个selectedRowKeys属性,文档上说selectedRowKeys需要和onChange 进行配合进行配合使用,onChange方法有两个参数function(selectedRowKeys, selectedRows),第二个参数表示当前行的数据,第一表示的是数据中的key值,这个就很关键,如果你的数据中没有绑定key这个字段,那么这个参数输出的就是undefined,所有需要在数据中绑定一个唯一的key值,可以和数据中的id保持一直,具体代码:

const { selectedRowKeys } = this.state
const rowSelection = {
    selectedRowKeys,
    onChange:this.onSelectChange
}
<Table
     columns={this.state.columns}
     dataSource={this.state.auditCommonModelLists}
     rowSelection={rowSelection}
/>
onSelectChange = (selectedRowKeys, selectedRows) => {
        // console.log(selectedRowKeys, selectedRows)
        this.setState({selectedRowKeys})
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值