react antd写一个联动的checkbox的table组件
时间: 2025-06-23 14:25:58 浏览: 13
### 创建带有联动 Checkbox 的 Table 组件
为了实现带有联动 Checkbox 功能的 `Table` 组件,在 React 中使用 Ant Design 库,可以遵循以下方法:
#### 定义父级和子级表单的状态管理
考虑到父子组件之间的交互复杂度较高,可以选择 Redux 来存储父子组件对应的 RowKey 或者在同一组件内通过本地状态来维护这些数据。确保类型定义清晰明确,这有助于提高代码可读性和后期维护效率[^3]。
#### 使用 rowSelection 配置项
对于表格的选择行为配置,需利用 `rowSelection` 属性中的 `getCheckboxProps` 方法来自定义每一行 checkbox 的属性设置。此函数接收当前行的数据作为参数并返回一个对象,该对象用于指定特定行上 checkbox 的特性,比如禁用某些选项或默认选中特定条目[^1]。
#### 控制默认选中项
如果希望初始化时就自动勾选部分记录,则应在 `getCheckboxProps` 返回的对象里加入 `defaultChecked` 属性,并将其设为 true 对应想要预选的目标行[^2]。
下面是一个简单的例子展示如何构建这样的组件:
```jsx
import React, { useState } from 'react';
import { Table } from 'antd';
const App = () => {
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
const columns = [
{
title: 'Name',
dataIndex: 'name',
key: 'name'
},
// ...其他列定义...
];
const data = [
// 数据源数组...
];
const onSelectChange = (newSelectedRowKeys) => {
console.log('selectedRowKeys changed: ', newSelectedRowKeys);
setSelectedRowKeys(newSelectedRowKeys);
};
const rowSelection = {
selectedRowKeys,
onChange: onSelectChange,
getCheckboxProps: record => ({
disabled: false, // 是否禁用checkbox
defaultChecked: record.defaultSelect || false // 设置默认选中
})
};
return (
<Table
rowSelection={rowSelection}
columns={columns}
dataSource={data}
/>
);
};
export default App;
```
阅读全文
相关推荐


















