如何清空 antd rowSelection中的选中状态
时间: 2023-11-22 22:55:21 浏览: 94
你可以通过以下两种方法清空 antd 的 `rowSelection` 中的选中状态:
1. 通过 `rowSelection` 的 `selectedRowKeys` 属性来清空选中状态。
```jsx
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
const handleClearSelection = () => {
setSelectedRowKeys([]);
};
const rowSelection = {
selectedRowKeys,
onChange: (keys) => {
setSelectedRowKeys(keys);
},
};
<Table rowSelection={rowSelection} dataSource={dataSource} />;
```
在 `handleClearSelection` 函数中,将 `selectedRowKeys` 设置为空数组即可清空选中状态。
2. 使用 `Table` 组件的 `rowSelection.resetSelectedRowKeys()` 方法来清空选中状态。
```jsx
const rowSelection = {
// ...
};
const tableRef = useRef(null);
const handleClearSelection = () => {
tableRef.current?.rowSelection.resetSelectedRowKeys();
};
<Table
rowSelection={rowSelection}
dataSource={dataSource}
ref={tableRef}
/>;
```
在 `handleClearSelection` 函数中,通过 `tableRef.current.rowSelection.resetSelectedRowKeys()` 方法来清空选中状态。注意,这种方式需要给 `Table` 组件添加 `ref` 属性,并且需要使用 `?.` 语法来确保 `rowSelection` 对象存在。