跳转到内容

菜单 Menu

设置 breakpoint 可触发响应式收缩。

通过 collapsed 来指定菜单收起。

通过 theme 指定主题,分为 lightdark 两种。

设置 modehorizontal 时,使用水平菜单。

菜单默认使用纯 CSS 方案做单行省略,性能更轻,适合大多数导航场景。

当你需要在标题溢出时显示 Tooltip,或者复用 Ellipsis 组件的配置能力时,可以开启 ellipsis,并通过 ellipsis-props 透传 lineClampexpandTriggertooltip 等属性。

指定 modepopButton 使用按钮组样式的悬浮菜单。

指定 modepop 可以使用悬浮菜单。

通过 style 自由指定菜单的宽度和菜单项的高度。

菜单内可以嵌入多个子项,通过 openKeys 可以设置默认打开的子项。

参数名描述类型默认值版本
theme菜单的主题'light' | 'dark''light'
mode菜单的模式'vertical' | 'horizontal' | 'pop' | 'popButton''vertical'
level-indent层级之间的缩进量number-
auto-open默认展开所有多级菜单booleanfalse
collapsed (v-model)是否折叠菜单boolean-
default-collapsed默认是否折叠菜单booleanfalse
collapsed-width折叠菜单宽度number-
accordion开启手风琴效果booleanfalse
auto-scroll-into-view是否自动滚动选中项目到可见区域booleanfalse
show-collapse-button是否内置折叠按钮booleanfalse
selected-keys (v-model)选中的菜单项 key 数组string[]-
default-selected-keys默认选中的菜单项 key 数组string[][]
open-keys (v-model)展开的子菜单 key 数组string[]-
default-open-keys默认展开的子菜单 key 数组string[][]
scroll-config滚动到可见区域的配置项,接收所有scroll-into-view-if-needed的参数{ [key: string]: any }-
trigger-props弹出模式下可接受所有 TriggerPropsTriggerProps-
tooltip-props弹出模式下可接受所有 ToolTipPropsobject-
ellipsis是否使用 Ellipsis 组件渲染菜单标题。默认关闭,继续走现有纯 CSS 省略方案booleanfalse
ellipsis-propsellipsis 开启后透传给 Ellipsis 组件的属性MenuEllipsisProps-
auto-open-selected默认展开选中的菜单booleanfalse2.8.0
breakpoint响应式的断点, 详见响应式栅格'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs'-2.18.0
popup-max-height弹出框的最大高度boolean | numbertrue2.23.0
事件名描述参数
collapse折叠状态改变时触发collapsed: boolean
type: 'clickTrigger'|'responsive'
menu-item-click点击菜单项时触发key: string
sub-menu-click点击子菜单时触发key: string
openKeys: string[]
插槽名描述参数
collapse-icon折叠图标collapsed: boolean
expand-icon-right向右展开的图标-
expand-icon-down向下展开的图标-
参数名描述类型默认值版本
title子菜单的标题string-
selectable弹出模式下,是否将多级菜单头也作为一个菜单项,支持点击选中等状态booleanfalse
popup是否强制使用弹出模式,level 表示当前子菜单的层级boolean | ((level: number) => boolean)false
popup-max-height弹出框的最大高度boolean | numbertrue2.23.0
插槽名描述参数版本
title标题-
expand-icon-right向右展开的图标-
expand-icon-down向下展开的图标-
icon菜单的图标-2.11.0
参数名描述类型默认值
title菜单组的标题string-
插槽名描述参数
title标题-
参数名描述类型默认值
disabled是否禁用booleanfalse
插槽名描述参数版本
icon菜单的图标-2.11.0

ellipsis-props 会直接透传给 Ellipsis 组件,便于在菜单场景下复用同一套省略配置。

参数名描述类型默认值
lineClamp最大显示行数。不传时为单行省略number | string-
expandTrigger展开的触发方式'click'-
tooltip省略时是否展示提示。可传入 Tooltip 属性对象boolean | EllipsisTooltipPropstrue
Section titled “<MenuItem> 和 <SubMenu> 组件的 key 属性为必填”

<Menu> 组件中使用 <MenuItem><SubMenu> 组件时,请传入唯一的 key 属性。组件内部在进行计算时会依赖此值,如果没有赋值会导致部分场景下异常

如果你只需要传统的单行省略效果,保持默认值 false 即可,渲染成本最低。

如果你需要溢出后显示 Tooltip、配置多行截断,或者想统一复用 Ellipsis 的交互能力,再开启 ellipsis 并配合 ellipsis-props 使用。