javascript - AntD rowSelection 功能组件

标签 javascript reactjs antd ant-design-pro

我正在尝试获取表中的单个元素键。
但我得到未定义我怎样才能捕获 id?
https://ant.design/components/table/#components-table-demo-expand-children

const [select, setSelect] = useState({
    selectedRowKeys: [],
    loading: false,
  });

console.log("selectedRowKeys", select);

const { selectedRowKeys, loading } = select;

const rowSelection = {
selectedRowKeys,
onChange: (selectedRowKeys) => {
  setSelect({
    ...select,
    selectedRowKeys: [...select.selectedRowKeys, selectedRowKeys],
  });
},
};

return (
<div>
  <Table
    columns={columns}
    rowSelection={rowSelection}
    dataSource={dataSource}
    loading={!props.employeeList}
  />
</div>);
Here's a screenshot of console.log()

最佳答案

您需要在 dataSource 的每个对象上添加一个 key prop大批

const dataSource = [
  {
    key: 1,
    name: `Edward King 1`,
    age: 32,
    address: `London, Park Lane no. 1`
  },
  {
    key: 2,
    name: `Edward King 2`,
    age: 35,
    address: `London, Park Lane no. 2`
  }
];
然后在你的rowSelection您需要的对象删除此代码 [...select.selectedRowKeys, selectedRowKeys] ,如果您取消选择一个项目并再次选择它并导致重复,这将推送到状态。它应该是:
const rowSelection = {
    selectedRowKeys,
    onChange: (selectedRowKeys) => {
      setSelect({
        ...select,
        selectedRowKeys: selectedRowKeys
      });
    }
};
查看您的工作代码 here

关于javascript - AntD rowSelection 功能组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63918872/

相关文章:

javascript - 对象 :scaling is not working with bounding object

javascript - Google 已禁用此应用程序的 map API

javascript - SharePoint 框架应用程序中的 ReactDom.Render()

reactjs - 为什么类型不能分配给泛型类型

javascript - 如何在 ANTD 设计菜单中添加自定义图像/图标?

reactjs - 如何将自定义组件添加到 Ant Design Stepper 中?

c# - 如何使用 C# 在 JavaScript 中创建的自定义对象上调用方法?

reactjs - Node Sass 版本 7.0.0 与 ^4.0.0 不兼容 || ^5.0.0 || ^6.0.0

reactjs - React Ant设计文件上传仅xls文件验证

javascript - 如何根据 javaScript 中的条件从对象中删除值