mirror of
https://github.com/ant-design/ant-design.git
synced 2025-08-05 23:46:28 +08:00

* docs: add general components TS demo * docs: add layout components TS demo * docs: add navigation components TS demo * docs: add data entry components TS demo * chore(deps): add types for qs * docs: add data display TS demo * docs: add feedback components TS demo * docs: add other components TS demo * chore(deps): add types * docs: unified demo code style * docs: fix lint error * docs: add demo TS type * docs: fix demo TS type * test: update snapshot * docs: fix TS demo * feat: update Rate character type * docs: fix lint error * feat: update Rate character type * feat: update Rate character type
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 React from 'react';
|
|
import { Cascader, Divider } from 'antd';
|
|
|
|
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;
|
|
```
|