ant-design/components/dropdown/index.zh-CN.md
ice eac5b6893d
feat(menu): support extra prop (#50431)
* feat(dropdown): support extra prop

* text: fix items

* Update components/menu/style/index.ts

Co-authored-by: lijianan <574980606@qq.com>
Signed-off-by: ice <49827327+coding-ice@users.noreply.github.com>

* Update package.json

Co-authored-by: lijianan <574980606@qq.com>
Signed-off-by: ice <49827327+coding-ice@users.noreply.github.com>

* style: css

* chore: bump rc-menu from 9.15.1 to 9.15.0

* style: classname

* test: clsname

* chore: rc-menu to ^9.15.1

* chore: rc-menu version from ^ to ~

* chore: update deps

* feat: full width

* fix: children is array

* fix: default array

* fix: label

* test: update snap

* test: case

---------

Signed-off-by: ice <49827327+coding-ice@users.noreply.github.com>
Co-authored-by: lijianan <574980606@qq.com>
2024-09-03 07:15:18 +08:00

4.8 KiB
Raw Blame History

category group title subtitle description cover coverDark demo
Components 导航 Dropdown 下拉菜单 向下弹出的列表。 https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*gTBySYX11WcAAAAAAAAAAAAADrJ8AQ/original https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*k619RJ_7bKEAAAAAAAAAAAAADrJ8AQ/original
cols
2

何时使用

当页面上的操作命令过多时,用此组件可以收纳操作元素。点击或移入触点,会出现一个下拉菜单。可在列表中进行选择,并执行相应的命令。

  • 用于收罗一组命令操作。
  • Select 用于选择,而 Dropdown 是命令集合。

代码演示

基本 额外节点 弹出位置 箭头 其他元素 箭头指向 触发方式 触发事件 带下拉框的按钮 扩展菜单 多级菜单 多级菜单 菜单隐藏方式 右键菜单 加载中状态 菜单可选选择 Menu 完整样式 _InternalPanelDoNotUseOrYouWillBeFired Icon debug

API

通用属性参考:通用属性

Dropdown

参数 说明 类型 默认值 版本
arrow 下拉框箭头是否显示 boolean | { pointAtCenter: boolean } false
autoAdjustOverflow 下拉框被遮挡时自动调整位置 boolean true 5.2.0
autoFocus 打开后自动聚焦下拉框 boolean false 4.21.0
disabled 菜单是否禁用 boolean -
destroyPopupOnHide 关闭后是否销毁 Dropdown boolean false
dropdownRender 自定义下拉框内容 (menus: ReactNode) => ReactNode - 4.24.0
getPopupContainer 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。示例 (triggerNode: HTMLElement) => HTMLElement () => document.body
menu 菜单配置项 MenuProps - 4.24.0
overlayClassName 下拉根元素的类名称 string -
overlayStyle 下拉根元素的样式 CSSProperties -
placement 菜单弹出位置:bottom bottomLeft bottomRight top topLeft topRight string bottomLeft
trigger 触发下拉的行为,移动端不支持 hover Array<click|hover|contextMenu> [hover]
open 菜单是否显示,小于 4.23.0 使用 visible为什么? boolean - 4.23.0
onOpenChange 菜单显示状态改变时调用,点击菜单按钮导致的消失不会触发。小于 4.23.0 使用 onVisibleChange为什么? (open: boolean, info: { source: 'trigger' | 'menu' }) => void - info.source: 5.11.0

Dropdown.Button

属性与 Dropdown 的相同。还包含以下属性:

参数 说明 类型 默认值 版本
buttonsRender 自定义左右两个按钮 (buttons: ReactNode[]) => ReactNode[] -
loading 设置按钮载入状态 boolean | { delay: number } false
danger 设置危险按钮 boolean - 4.23.0
icon 右侧的 icon ReactNode -
size 按钮大小,和 Button 一致 string default
type 按钮类型,和 Button 一致 string default
onClick 点击左侧按钮的回调,和 Button 一致 (event) => void -

注意

请确保 Dropdown 的子元素能接受 onMouseEnteronMouseLeaveonFocusonClick 事件。

主题变量Design Token

FAQ

Dropdown 在水平方向超出屏幕时会被挤压该怎么办?

你可以通过 width: max-content 来解决这个问题,参考 #43025