这个问题是由于在更改分页时,selectedRowKeys状态会丢失,导致选择的默认选中行变成undefined。解决方法是将selectedRowKeys状态存储在组件的state或redux中,并在组件重新渲染时将其保持不变。以下是一个使用state来存储selectedRowKeys状态的示例:
import { Table } from 'antd';
import { useState, useEffect } from 'react';
const MyTable = () => {
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
const handleRowSelectionChange = (selectedRowKeys) => {
setSelectedRowKeys(selectedRowKeys);
}
const tableColumns = [
{
title: 'Column 1',
dataIndex: 'col1',
key: 'col1',
},
{
title: 'Column 2',
dataIndex: 'col2',
key: 'col2',
},
];
const tableData = [
{
key: '1',
col1: 'Data 1',
col2: 'Data 2',
},
{
key: '2',
col1: 'Data 3',
col2: 'Data 4',
},
];
useEffect(() => {
console.log('selectedRowKeys: ', selectedRowKeys);
}, [selectedRowKeys]);
return (
);
};
export default MyTable;
在这个示例中,我们使用useState来存储selectedRowKeys状态,并在组件重新渲染时保持其不变。在handleRowSelectionChange函数中,我们更新selectedRowKeys状态来反映用户的选择。在分页中,我们使用pagination属性来设置pageSize,并在选择行时保持选中状态。在组件反应时,我们使用useEffect来记录selectedRowKeys状态的值