我有问题,需要一些帮助。我们在项目中使用ant-design库。 https://ant.design/components/table我们应该使用的组件是一个表。当我单击一行时,我必须触发一个动作。但是,我只能检查不多的一行,因此当我单击一行时,应取消选择上一行中的复选框。
我的代码在这里:
onSelectChange = selectedRowKeys => {
if (selectedRowKeys.length > 1) {
const lastSelectedRowIndex = [...selectedRowKeys].pop();
this.setState({ selectedRowKeys: lastSelectedRowIndex });
}
this.setState({ selectedRowKeys });
console.log('selectedRowKeys changed: ', selectedRowKeys);
};
render() {
const { selectedRowKeys } = this.state;
const rowSelection = {
selectedRowKeys,
onChange: this.onSelectChange,
};
return (
<React.Fragment>
<div style={{ marginBottom: 16 }} />
<Table
rowSelection={rowSelection}
columns={columnEvaluation}
dataSource={result}
/>
</React.Fragment>
);
}
selectedRow数组的最新值为BUT,但是未选中该复选框。有任何想法吗?
最佳答案
复选框用于让用户选择数量有限的一个或多个选项,单选按钮则允许用户仅选择数量有限的一个选项。
将类型传递给表格的rowSelection
属性,默认为复选框。
const rowSelection = {
selectedRowKeys,
onChange: this.onSelectChange,
type: 'radio'
};