mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-11 23:00:20 +08:00
75 lines
1.2 KiB
Markdown
75 lines
1.2 KiB
Markdown
---
|
|
order: 12
|
|
title:
|
|
zh-CN: 扩展菜单
|
|
en-US: Custom dropdown
|
|
---
|
|
|
|
## zh-CN
|
|
|
|
使用 `dropdownRender` 对下拉菜单进行自由扩展。
|
|
|
|
## en-US
|
|
|
|
Customize the dropdown menu via `dropdownRender`.
|
|
|
|
```tsx
|
|
import { Cascader, Divider } from 'antd';
|
|
import React from 'react';
|
|
|
|
interface Option {
|
|
value: string;
|
|
label: string;
|
|
children?: Option[];
|
|
}
|
|
|
|
const options: Option[] = [
|
|
{
|
|
value: 'zhejiang',
|
|
label: 'Zhejiang',
|
|
children: [
|
|
{
|
|
value: 'hangzhou',
|
|
label: 'Hangzhou',
|
|
children: [
|
|
{
|
|
value: 'xihu',
|
|
label: 'West Lake',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
value: 'jiangsu',
|
|
label: 'Jiangsu',
|
|
children: [
|
|
{
|
|
value: 'nanjing',
|
|
label: 'Nanjing',
|
|
children: [
|
|
{
|
|
value: 'zhonghuamen',
|
|
label: 'Zhong Hua Men',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
];
|
|
|
|
const dropdownRender = (menus: React.ReactNode) => (
|
|
<div>
|
|
{menus}
|
|
<Divider style={{ margin: 0 }} />
|
|
<div style={{ padding: 8 }}>The footer is not very short.</div>
|
|
</div>
|
|
);
|
|
|
|
const App: React.FC = () => (
|
|
<Cascader options={options} dropdownRender={dropdownRender} placeholder="Please select" />
|
|
);
|
|
|
|
export default App;
|
|
```
|