2016-11-22 10:11:12 +08:00
|
|
|
|
---
|
|
|
|
|
order: 1
|
|
|
|
|
title:
|
|
|
|
|
en-US: JSX style API
|
|
|
|
|
zh-CN: JSX 风格的 API
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## zh-CN
|
|
|
|
|
|
|
|
|
|
使用 JSX 风格的 API(2.5.0 以后引入)
|
|
|
|
|
|
2017-01-12 00:03:35 +08:00
|
|
|
|
> 这个只是一个描述 `columns` 的语法糖,所以你不能用其他组件去包裹 `Column` 和 `ColumnGroup`。
|
2017-01-11 19:52:43 +08:00
|
|
|
|
|
2016-11-22 10:11:12 +08:00
|
|
|
|
## en-US
|
|
|
|
|
|
|
|
|
|
Using JSX style API (introduced in 2.5.0)
|
|
|
|
|
|
2018-04-23 21:57:43 +08:00
|
|
|
|
> Since this is just a syntax sugar for the prop `columns`, you can't compose `Column` and `ColumnGroup` with other Components.
|
2017-01-11 19:52:43 +08:00
|
|
|
|
|
2022-05-19 09:46:26 +08:00
|
|
|
|
```tsx
|
2022-05-23 14:37:16 +08:00
|
|
|
|
import { Space, Table, Tag } from 'antd';
|
2022-05-19 09:46:26 +08:00
|
|
|
|
import React from 'react';
|
2016-11-22 10:11:12 +08:00
|
|
|
|
|
|
|
|
|
const { Column, ColumnGroup } = Table;
|
|
|
|
|
|
2022-05-19 09:46:26 +08:00
|
|
|
|
interface DataType {
|
|
|
|
|
key: React.Key;
|
|
|
|
|
firstName: string;
|
|
|
|
|
lastName: string;
|
|
|
|
|
age: number;
|
|
|
|
|
address: string;
|
|
|
|
|
tags: string[];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const data: DataType[] = [
|
2019-05-07 14:57:32 +08:00
|
|
|
|
{
|
|
|
|
|
key: '1',
|
|
|
|
|
firstName: 'John',
|
|
|
|
|
lastName: 'Brown',
|
|
|
|
|
age: 32,
|
|
|
|
|
address: 'New York No. 1 Lake Park',
|
|
|
|
|
tags: ['nice', 'developer'],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
key: '2',
|
|
|
|
|
firstName: 'Jim',
|
|
|
|
|
lastName: 'Green',
|
|
|
|
|
age: 42,
|
|
|
|
|
address: 'London No. 1 Lake Park',
|
|
|
|
|
tags: ['loser'],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
key: '3',
|
|
|
|
|
firstName: 'Joe',
|
|
|
|
|
lastName: 'Black',
|
|
|
|
|
age: 32,
|
|
|
|
|
address: 'Sidney No. 1 Lake Park',
|
|
|
|
|
tags: ['cool', 'teacher'],
|
|
|
|
|
},
|
|
|
|
|
];
|
2016-11-22 10:11:12 +08:00
|
|
|
|
|
2022-05-19 09:46:26 +08:00
|
|
|
|
const App: React.FC = () => (
|
2017-01-10 14:09:19 +08:00
|
|
|
|
<Table dataSource={data}>
|
2016-11-22 10:11:12 +08:00
|
|
|
|
<ColumnGroup title="Name">
|
2019-05-07 14:57:32 +08:00
|
|
|
|
<Column title="First Name" dataIndex="firstName" key="firstName" />
|
|
|
|
|
<Column title="Last Name" dataIndex="lastName" key="lastName" />
|
2016-11-22 10:11:12 +08:00
|
|
|
|
</ColumnGroup>
|
2019-05-07 14:57:32 +08:00
|
|
|
|
<Column title="Age" dataIndex="age" key="age" />
|
|
|
|
|
<Column title="Address" dataIndex="address" key="address" />
|
2018-08-18 12:48:56 +08:00
|
|
|
|
<Column
|
|
|
|
|
title="Tags"
|
|
|
|
|
dataIndex="tags"
|
|
|
|
|
key="tags"
|
2022-05-19 09:46:26 +08:00
|
|
|
|
render={(tags: string[]) => (
|
2020-05-03 19:46:52 +08:00
|
|
|
|
<>
|
2019-05-07 14:57:32 +08:00
|
|
|
|
{tags.map(tag => (
|
|
|
|
|
<Tag color="blue" key={tag}>
|
|
|
|
|
{tag}
|
|
|
|
|
</Tag>
|
|
|
|
|
))}
|
2020-05-03 19:46:52 +08:00
|
|
|
|
</>
|
2018-08-18 12:48:56 +08:00
|
|
|
|
)}
|
|
|
|
|
/>
|
2016-11-22 10:11:12 +08:00
|
|
|
|
<Column
|
|
|
|
|
title="Action"
|
|
|
|
|
key="action"
|
2022-05-19 09:46:26 +08:00
|
|
|
|
render={(_: any, record: DataType) => (
|
2020-05-03 19:46:52 +08:00
|
|
|
|
<Space size="middle">
|
|
|
|
|
<a>Invite {record.lastName}</a>
|
2019-08-14 19:36:59 +08:00
|
|
|
|
<a>Delete</a>
|
2020-05-03 19:46:52 +08:00
|
|
|
|
</Space>
|
2016-11-22 10:11:12 +08:00
|
|
|
|
)}
|
|
|
|
|
/>
|
2022-04-03 23:27:45 +08:00
|
|
|
|
</Table>
|
2018-11-28 15:00:03 +08:00
|
|
|
|
);
|
2022-05-19 09:46:26 +08:00
|
|
|
|
|
|
|
|
|
export default App;
|
2019-05-07 14:57:32 +08:00
|
|
|
|
```
|