Antd Table组件rowSelection方法的一些坑
当table组件多选时,会将所有的表格数据全部选中。
在组件中官网有提供rowSelection方法,可以让Table的第一列成为联动的选择框以及通过rowSelection.selectedRowKeys来控制选项。
比较坑的是 selectedRowKeys控制的只是dataSource当前的序号,必须加上rowKey={record =>record.userId},如果不加上会导致联动的选择框异常,rowKey的id可以自定义为dataSource中的某个值。
遇到问题:当选择某一行的数据事,它会全部选中,而且在onChange事件中的selectRowKeys的值为“[null]”,如下图所示: 解决代码如下:
<Table rowSelection={{type:"checkbox",selectedRowKeys:selectedUserKeys,
onChange:(selectedKeys,selectedRows) => selectedUserOnChange(selectedKeys,selectedRows)}}
columns={slackColumns} dataSource={unApproved} pagination={false} scroll={{y:80}} size="small" rowKey={record => record.userId}/>
|