Arco Table 的 rowSelection 选中后怎么获取当前行数据?

Prog.子豪 阅读 3

我在用 Arco Design 的 Table 组件做用户列表,加了 rowSelection 之后点选某一行,想拿到这一行的完整数据,但文档里没太看明白。试过在 onChange 里打印 selectedRowKeys 和 selectedRows,selectedRows 是空数组,不知道是不是哪里写错了。

下面是我的代码:

const [selectedRowKeys, setSelectedRowKeys] = useState([]);

const rowSelection = {
  selectedRowKeys,
  onChange: (keys, rows) => {
    console.log('rows:', rows); // 这里 rows 总是 []
    setSelectedRowKeys(keys);
  }
};

<Table
  rowSelection={rowSelection}
  columns={columns}
  data={userData}
/>
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
ლ士航
ლ士航 Lv1
省事的话,直接在 onChange 里用 keysuserData 找对应的行数据就行。selectedRows 是空可能是因为 Table 没传 rowKey 或者 dataSource 数据格式不对。

const rowSelection = {
selectedRowKeys,
onChange: (keys, rows) => {
const selectedData = keys.map(key => userData.find(item => item.id === key));
console.log('selected data:', selectedData);
setSelectedRowKeys(keys);
}
};


记得检查下你的 userData 每项有没有唯一 id,Table 的 rowKey 要跟这个对上。
点赞
2026-03-29 18:27