Menu 菜单

为网站提供导航功能的菜单。

TIP

如果您想要覆盖el-menu的默认高度, 您可以使用下列CSS

.el-menu--horizontal {
  --el-menu-horizontal-height: 100px;
}

顶栏

顶部栏菜单可以在各种场景中使用。

导航菜单默认为垂直模式,通过将 mode 属性设置为 horizontal 来使导航菜单变更为水平模式。另外,在菜单中通过 sub-menu 组件可以生成二级菜单。 Menu 还提供了background-color、text-color和active-text-color,分别用于设置菜单的背景色、菜单的文字颜色和当前激活菜单的文字颜色。

左右

您可以将菜单项放置在左边或右边。

侧栏

垂直菜单,可内嵌子菜单。

通过 el-menu-item-group 组件可以实现菜单进行分组,分组名可以通过 title 属性直接设定,也可以通过具名 slot 来设定。

Collapse 折叠面板

垂直导航菜单可以被折叠

弹出层偏移量 2.4.4

当提供了 popperOffset 配置,会覆盖 Menu 的 popper-offset.

属性名说明类型默认值
mode菜单展示模式enumvertical
collapse是否收起菜单(仅纵向模式)booleanfalse
ellipsis是否开启省略号收起(仅横向模式)booleantrue
ellipsisIcon自定义省略号图标(仅横向模式且开启省略号)ReactNode—
popperOffset所有子菜单浮层与触发元素的间距number6
defaultActive页面加载时激活菜单的 indexstring''
defaultOpeneds初始展开的子菜单 index 数组array[]
uniqueOpened是否只保持一个子菜单展开booleanfalse
menuTrigger子菜单触发方式,仅在横向模式生效enumhover
router是否启用路由模式,开启后 index 作为跳转路径booleanfalse
collapseTransition是否开启收起过渡booleantrue
popperEffect收起态下 tooltip 的主题enum / stringdark
closeOnClickOutside点击菜单外部时是否收起全部子菜单booleanfalse
popperClass所有浮层的自定义类名string—
popperStyle所有浮层的自定义样式object—
showTimeout所有子菜单显示前的延时number300
hideTimeout所有子菜单隐藏前的延时number300
persistent浮层不活跃时是否保留 DOMbooleantrue
backgroundColor已废弃,改用 CSS 变量 --el-menu-bg-colorstring#ffffff
textColor已废弃,改用 CSS 变量 --el-menu-text-colorstring#303133
activeTextColor已废弃,改用 CSS 变量 --el-menu-active-colorstring#409eff
事件名说明类型
onSelect菜单项被激活时触发Function
onOpen子菜单展开时触发Function
onClose子菜单收起时触发Function
名称说明子标签
children自定义默认内容SubMenu / MenuItem / MenuItemGroup
名称说明类型
open展开指定子菜单Function
close收起指定子菜单Function
handleResize手动触发菜单宽度重新计算Function
updateActiveIndex设置激活菜单的 indexFunction
属性名说明类型默认值
index唯一标识(必填)string—
popperClass浮层菜单的自定义类名string—
popperStyle浮层菜单的自定义样式object—
showTimeout展开前的延时,缺省继承根菜单number—
hideTimeout收起前的延时,缺省继承根菜单number—
disabled是否禁用booleanfalse
teleported浮层是否挂载到 body,第一层默认为 true,其余默认为 falsebooleanundefined
popperOffset浮层偏移,覆盖根菜单的 popperOffsetnumber—
expandCloseIcon展开态且子菜单收起时的图标,需与 expandOpenIcon 成对传入ReactNode—
expandOpenIcon展开态且子菜单展开时的图标,需与 expandCloseIcon 成对传入ReactNode—
collapseCloseIcon收起态且子菜单收起时的图标,需与 collapseOpenIcon 成对传入ReactNode—
collapseOpenIcon收起态且子菜单展开时的图标,需与 collapseCloseIcon 成对传入ReactNode—
名称说明子标签
children自定义默认内容SubMenu / MenuItem / MenuItemGroup
title自定义标题内容,React 通过 title prop 传入—
属性名说明类型默认值
index唯一标识(必填)string—
route路由参数,开启 router 时使用string / object—
disabled是否禁用booleanfalse
事件名说明类型
onClick菜单项被点击时触发,参数为菜单项的注册信息Function
名称说明
children自定义默认内容
title自定义标题内容,React 通过 title prop 传入
属性名说明类型默认值
title分组标题string—
名称说明子标签
children自定义默认内容MenuItem
title自定义分组标题,React 通过 title prop 传入—

Type Declarations

type MenuSelectEvent = (
  index: string,
  indexPath: string[],
  item: MenuItemClicked,
  routerResult?: Promise<void | NavigationFailure>
) => void

type MenuOpenEvent = (index: string, indexPath: string[]) => void

type MenuCloseEvent = (index: string, indexPath: string[]) => void

interface MenuItemRegistered {
  index: string
  indexPath: string[]
  active: boolean
}

interface MenuItemClicked {
  index: string
  indexPath: string[]
  route?: RouteLocationRaw
}