Ant Design 的表格组件中 rowSelection中的columnTitle支持自定义渲染一个图标,点击这个图标的函数怎么获取
时间: 2024-02-16 09:05:27 浏览: 215
如果你想在 `rowSelection` 中的 `columnTitle` 中自定义一个图标,并且想要在点击这个图标时触发一个函数,可以按照以下步骤进行操作:
1. 在 `columnTitle` 中使用自定义渲染函数来渲染图标,代码如下:
```
const columns = [
{
title: 'Name',
dataIndex: 'name',
key: 'name',
width: '50%',
render: (text) => <a>{text}</a>,
},
{
title: 'Age',
dataIndex: 'age',
key: 'age',
width: '50%',
},
{
title: 'Select',
dataIndex: 'select',
key: 'select',
render: () => (
<Tooltip title="Click to select all records">
<Button icon={<CheckCircleOutlined />} onClick={handleSelectAll} />
</Tooltip>
),
},
];
```
在上面的代码中,我们在 `Select` 列中使用了自定义渲染函数,渲染了一个带有提示信息和图标的按钮,并且在按钮上绑定了 `handleSelectAll` 函数。
2. 在 `handleSelectAll` 函数中实现你想要的逻辑即可,这个函数的参数可以使用 `onSelectAll` 方法中的参数进行获取。例如:
```
const handleSelectAll = (e) => {
const checked = e.target.checked;
const selectedRowKeys = checked ? dataSource.map((item) => item.key) : [];
setSelectedRowKeys(selectedRowKeys);
};
```
在上面的代码中,我们实现了一个 `handleSelectAll` 函数,当点击 `Select` 列中的图标时,会触发该函数,将所有记录的 `key` 值保存到 `selectedRowKeys` 中,实现了选中所有记录的功能。
阅读全文