0

我遇到了问题,需要一些帮助。我们在项目中使用了 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 数组具有最新值但未选中该复选框。有任何想法吗?

4

1 回答 1

4

复选框用于让用户从有限数量的选项中选择一个或多个选项,而单选按钮让用户只选择有限数量的选项中的一个。

将类型传递给表格的rowSelection道具,默认为复选框。

const rowSelection = {
  selectedRowKeys,
  onChange: this.onSelectChange,
  type: 'radio'
};
于 2019-05-25T10:13:56.773 回答