这是组件自带的bug,在antd的4版本已经修复了,可是我的是在3版本,所以,还得自己解决。
问题:


然后我选其他页的数据,这个selectedRows数组没有加上前一页的数据,导致拿到的值只有当前页的数据。
解决办法:
二维数组拼接:
onTestChange = (selectedRowKeys, selectedRows) => {
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
const { doubleArr, current } = this.state
// 勾选生成二维数组
doubleArr[current ? current - 1 : 0] = selectedRows
// 这块扁平化成为一位数组
selectedRows = this.mapRows(doubleArr);
this.setState({
selectedRowKeys,
selectedRows // 存放拼接好的一维数组
})
}
const rowSelection = {
selectedRowKeys,
onChange: this.onTestChange,
};
而我们可以拿到selectedRows的值,就是我们想要的。
网友评论