antd表格嵌套表格
时间: 2023-07-24 10:15:35 浏览: 143
Ant Design的表格组件支持嵌套表格,可以通过在父表格中的某一行设置`expandable`属性来指定该行是否可以展开,展开后可以显示子表格。以下是一个示例代码:
```jsx
import { Table } from 'antd';
const columns = [
{
title: '姓名',
dataIndex: 'name',
},
{
title: '年龄',
dataIndex: 'age',
},
{
title: '住址',
dataIndex: 'address',
},
];
const data = [
{
key: '1',
name: 'John Brown',
age: 32,
address: 'New York No. 1 Lake Park',
children: [
{
key: '1-1',
name: 'Jim Green',
age: 42,
address: 'London No. 1 Lake Park',
},
{
key: '1-2',
name: 'Joe Black',
age: 32,
address: 'Sidney No. 1 Lake Park',
},
],
},
{
key: '2',
name: 'Jim Green',
age: 42,
address: 'London No. 1 Lake Park',
},
{
key: '3',
name: 'Joe Black',
age: 32,
address: 'Sidney No. 1 Lake Park',
},
];
const App = () => {
const expandedRowRender = record => {
const columns = [
{ title: '姓名', dataIndex: 'name', key: 'name' },
{ title: '年龄', dataIndex: 'age', key: 'age' },
{ title: '住址', dataIndex: 'address', key: 'address' },
];
return <Table columns={columns} dataSource={record.children} pagination={false} />;
};
return <Table columns={columns} dataSource={data} expandable={{ expandedRowRender }} />;
};
```
在上面的代码中,我们通过在父表格的`expandable`属性中指定`expandedRowRender`函数,来指定展开后的子表格,该函数的参数`record`即为当前行的数据。在子表格中,我们可以像普通的表格一样设置`columns`和`dataSource`属性来显示数据。需要注意的是,子表格不需要设置分页,否则会导致展开后的子表格分页显示。
阅读全文