官网例子没有这个问题是因为它的 table 数据是一次通过接口拉下来的,后续分页不在请求接口, 而实际情况是需要点击一次分页拉一次数据就导致 table 重新渲染导致selectedRowKeys数据丢失。
解决方案:
preserveSelectedRowKeys 当数据被删除时仍然保留选项的 key boolean - 4.4.0
当使用 rowSelection 时,请设置 rowSelection.preserveSelectedRowKeys 属性以保留 key。
const rowSelection = {
selectedRowKeys: selectedRowKeys,
preserveSelectedRowKeys: true, // 加上这行即可
onChange: (selectedKeys: React.Key[], selectedRows: IDevice[]) => {
setSelectedRowKeys(selectedKeys);
},
};