2016-03-31 14:17:09 +08:00
|
|
|
---
|
|
|
|
category: Components
|
2016-09-21 11:28:38 +08:00
|
|
|
subtitle: 下拉菜单
|
2018-11-04 16:20:35 +08:00
|
|
|
type: 导航
|
2016-09-21 11:28:38 +08:00
|
|
|
title: Dropdown
|
2020-06-05 13:50:09 +08:00
|
|
|
cover: https://gw.alipayobjects.com/zos/alicdn/eedWN59yJ/Dropdown.svg
|
2016-03-31 14:17:09 +08:00
|
|
|
---
|
2015-06-08 19:10:47 +08:00
|
|
|
|
2015-06-14 17:54:08 +08:00
|
|
|
向下弹出的列表。
|
|
|
|
|
2015-06-08 19:10:47 +08:00
|
|
|
## 何时使用
|
|
|
|
|
2015-08-21 15:22:09 +08:00
|
|
|
当页面上的操作命令过多时,用此组件可以收纳操作元素。点击或移入触点,会出现一个下拉菜单。可在列表中进行选择,并执行相应的命令。
|
2015-06-08 19:10:47 +08:00
|
|
|
|
2020-06-03 16:28:06 +08:00
|
|
|
- 用于收罗一组命令操作。
|
|
|
|
- Select 用于选择,而 Dropdown 是命令集合。
|
|
|
|
|
2015-06-08 19:10:47 +08:00
|
|
|
## API
|
|
|
|
|
|
|
|
属性如下
|
|
|
|
|
2019-07-11 14:14:33 +08:00
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
|
|
|
| --- | --- | --- | --- | --- |
|
2022-01-13 13:34:34 +08:00
|
|
|
| arrow | 下拉框箭头是否显示 | boolean \| { pointAtCenter: boolean } | false | |
|
2020-06-28 22:41:59 +08:00
|
|
|
| disabled | 菜单是否禁用 | boolean | - | |
|
2021-08-08 14:49:22 +08:00
|
|
|
| destroyPopupOnHide | 关闭后是否销毁 Dropdown | boolean | false | |
|
2020-10-19 11:14:04 +08:00
|
|
|
| getPopupContainer | 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。[示例](https://codepen.io/afc163/pen/zEjNOy?editors=0010) | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
|
2019-07-11 14:14:33 +08:00
|
|
|
| overlay | 菜单 | [Menu](/components/menu) \| () => Menu | - | |
|
2020-01-06 11:13:39 +08:00
|
|
|
| overlayClassName | 下拉根元素的类名称 | string | - | |
|
2020-10-19 01:06:01 +08:00
|
|
|
| overlayStyle | 下拉根元素的样式 | CSSProperties | - | |
|
2022-01-13 13:34:34 +08:00
|
|
|
| placement | 菜单弹出位置:`bottom` `bottomLeft` `bottomRight` `top` `topLeft` `topRight` | string | `bottomLeft` | |
|
2020-06-30 11:25:55 +08:00
|
|
|
| trigger | 触发下拉的行为, 移动端不支持 hover | Array<`click`\|`hover`\|`contextMenu`> | \[`hover`] | |
|
2019-07-11 14:14:33 +08:00
|
|
|
| visible | 菜单是否显示 | boolean | - | |
|
2021-09-03 16:09:38 +08:00
|
|
|
| onVisibleChange | 菜单显示状态改变时调用,参数为 `visible`。点击菜单按钮导致的消失不会触发 | (visible: boolean) => void | - | |
|
2015-06-08 19:10:47 +08:00
|
|
|
|
2017-10-11 17:42:36 +08:00
|
|
|
`overlay` 菜单使用 [Menu](/components/menu/),还包括菜单项 `Menu.Item`,分割线 `Menu.Divider`。
|
2015-06-08 19:10:47 +08:00
|
|
|
|
2015-06-09 14:46:51 +08:00
|
|
|
> 注意: Menu.Item 必须设置唯一的 key 属性。
|
2017-10-25 10:25:44 +08:00
|
|
|
>
|
2020-08-18 17:53:21 +08:00
|
|
|
> Dropdown 下的 Menu 默认不可选中。如果需要菜单可选中,可以指定 `<Menu selectable>`。
|
2017-07-25 18:00:33 +08:00
|
|
|
|
2016-09-15 01:21:48 +08:00
|
|
|
### Dropdown.Button
|
2015-12-02 15:18:15 +08:00
|
|
|
|
2019-05-06 12:04:39 +08:00
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
2019-05-07 14:57:32 +08:00
|
|
|
| --- | --- | --- | --- | --- |
|
2020-10-21 10:33:43 +08:00
|
|
|
| buttonsRender | 自定义左右两个按钮 | (buttons: ReactNode\[]) => ReactNode\[] | - | |
|
2021-10-21 21:07:55 +08:00
|
|
|
| loading | 设置按钮载入状态 | boolean \| { delay: number } | false | |
|
2019-07-11 14:14:33 +08:00
|
|
|
| disabled | 菜单是否禁用 | boolean | - | |
|
2019-11-20 18:10:44 +08:00
|
|
|
| icon | 右侧的 icon | ReactNode | - | |
|
2019-05-07 14:57:32 +08:00
|
|
|
| overlay | 菜单 | [Menu](/components/menu/) | - | |
|
2022-01-13 13:34:34 +08:00
|
|
|
| placement | 菜单弹出位置:`bottom` `bottomLeft` `bottomRight` `top` `topLeft` `topRight` | string | `bottomLeft` | |
|
2020-10-19 11:14:04 +08:00
|
|
|
| size | 按钮大小,和 [Button](/components/button/#API) 一致 | string | `default` | |
|
2020-06-30 11:25:55 +08:00
|
|
|
| trigger | 触发下拉的行为 | Array<`click`\|`hover`\|`contextMenu`> | \[`hover`] | |
|
2020-10-19 11:14:04 +08:00
|
|
|
| type | 按钮类型,和 [Button](/components/button/#API) 一致 | string | `default` | |
|
2019-05-07 14:57:32 +08:00
|
|
|
| visible | 菜单是否显示 | boolean | - | |
|
2020-10-21 10:33:43 +08:00
|
|
|
| onClick | 点击左侧按钮的回调,和 [Button](/components/button/#API) 一致 | (event) => void | - | |
|
|
|
|
| onVisibleChange | 菜单显示状态改变时调用,参数为 `visible` | (visible: boolean) => void | - | |
|