Menu 导航菜单

大约 3 分钟

Menu 导航菜单

为页面和功能提供导航的菜单列表。

何时使用

导航菜单是一个网站的灵魂,用户依赖导航在各个页面中进行跳转。一般分为顶部导航和侧边导航,顶部导航提供全局性的类目和功能,侧边导航提供多级结构来收纳和排列网站架构。

更多布局和导航的使用可以参考:通用布局

开发者注意事项

  • Menu 元素为 ul,因而仅支持 li 以及 script-supporting 子元素open in new window。因而你的子节点元素应该都在 Menu.Item 内使用。
  • Menu 需要计算节点结构,因而其子元素仅支持 Menu.* 以及对此进行封装的 HOC 组件。
  • 必须为 SubMenu 设置唯一 key

代码演示

缩起内嵌菜单

内嵌菜单可以被缩起/展开。

API

参数说明类型默认值
forceSubMenuRender在子菜单展示之前就渲染进 DOMbooleanfalse
inlineCollapsedinline 时菜单是否收起状态boolean-
inlineIndentinline 模式的菜单缩进宽度number24
mode菜单类型,现在支持垂直、水平、和内嵌模式三种vertical | horizontal | inlinevertical
multiple是否允许多选booleanfalse
openKeys(v-model)当前展开的 SubMenu 菜单项 key 数组string[]
overflowedIndicator用于自定义 Menu 水平空间不足时的省略收缩的图标slot<EllipsisOutlined />
selectable是否允许选中booleantrue
selectedKeys(v-model)当前选中的菜单项 key 数组string[]
subMenuCloseDelay用户鼠标离开子菜单后关闭延时,单位:秒number0.1
subMenuOpenDelay用户鼠标进入子菜单后开启延时,单位:秒number0
theme主题颜色light | darklight
triggerSubMenuAction修改 Menu 子菜单的触发方式click | hoverhover
事件名称说明回调参数
click点击 MenuItem 调用此函数function({ item, key, keyPath })
deselect取消选中时调用,仅在 multiple 生效function({ item, key, selectedKeys })
openChangeSubMenu 展开/关闭的回调function(openKeys: string[])
select被选中时调用function({ item, key, selectedKeys })
参数说明类型默认值版本
disabled是否禁用booleanfalse
icon菜单图标slot2.8.0
keyitem 的唯一标志string
title设置收缩时展示的悬浮标题string | slot
参数说明类型默认值版本
disabled是否禁用booleanfalse
expandIcon自定义 Menu 展开收起图标slot箭头图标
icon菜单图标slot2.8.0
key唯一标志, 必填string
popupClassName子菜单样式string1.5.0
popupOffset子菜单偏移量,mode="inline" 时无效[number, number]-
title子菜单项值string|slot

Menu.SubMenu 的子元素必须是 MenuItem 或者 SubMenu.

SubMenu 必须传递 key,如不传递,该 SubMenu 下子元素将提前渲染,而且部分场景无法进行有效高亮。

事件名称说明回调参数
titleClick点击子菜单标题({ key, domEvent })
参数说明类型默认值
title分组标题string|slot

Menu.ItemGroup 的子元素必须是 MenuItem.

菜单项分割线,只用在弹出菜单内。

参数说明类型默认值版本
dashed是否虚线booleanfalse3.0
上次编辑于:
贡献者: Troye.Chen