Menu

Menu that provides navigation for your website.

TIP

This component requires the <client-only></client-only> wrap when used in SSR (eg: Nuxt) and SSG (eg: VitePress).

Top bar

Top bar Menu can be used in a variety of scenarios.

Left And Right

Vertical Menu with sub-menus.

Collapse

Vertical Menu could be collapsed.

Popper Offset 2.4.4

Menu with popperOffset will override Submenu's popper-offset.

NameDescriptionTypeAccepted ValuesDefault
modemenu display modestringhorizontal / verticalvertical
collapsewhether the menu is collapsed (available only in vertical mode)booleanfalse
ellipsiswhether the menu is ellipsis (available only in horizontal mode)booleantrue
ellipsis-icon 2.4.4custom ellipsis icon (available only in horizontal mode and ellipsis is true)string | Component
popper-offset 2.4.4offset of the popper (effective for all submenus)number6
background-colorbackground color of Menu (hex format) (deprecated, use --bg-color instead)string#ffffff
text-colortext color of Menu (hex format) (deprecated, use --text-color instead)string#303133
active-text-colortext color of currently active menu item (hex format) (deprecated, use --active-color instead)string#409eff
default-activeindex of active menu on page loadstring
default-openedsarray that contains indexes of currently active sub-menusArray
unique-openedwhether only one sub-menu can be activebooleanfalse
menu-triggerhow sub-menus are triggered, only works when mode is 'horizontal'stringhover / clickhover
routerwhether vue-router mode is activated. If true, index will be used as 'path' to activate the route action. Use with default-active to set the active item on load.booleanfalse
collapse-transitionwhether to enable the collapse transitionbooleantrue
popper-effect 2.2.26Tooltip theme, built-in theme: dark / light when menu is collapsedstringdark / lightdark
close-on-click-outside 2.4.4optional, whether menu is collapsed when clicking outsidebooleanfalse
popper-class 2.5.0custom class name for all popup menusstring
show-timeout 2.5.0Control timeout for all menus before showingnumber300
hide-timeout 2.5.0Control timeout for all menus before hidingnumber300
Methods NameDescriptionParameters
openOpen a specific sub-menuindex: index of the sub-menu to open
closeClose a specific sub-menuindex: index of the sub-menu to close
NameDescriptionParameters
selectcallback function when menu is activatedindex: index of activated menu, indexPath: index path of activated menu, item: the selected menu item, routeResult: result returned by vue-router if router is enabled
opencallback function when sub-menu expandsindex: index of expanded sub-menu, indexPath: index path of expanded sub-menu
closecallback function when sub-menu collapsesindex: index of collapsed sub-menu, indexPath: index path of collapsed sub-menu
NameDescriptionSubtags
customize default contentSubMenu / Menu-Item / Menu-Item-Group
NameDescriptionTypeAccepted ValuesDefault
indexunique identificationstring
popper-classcustom class name for the popup menustring
show-timeouttimeout before showing a sub-menu(inherit show-timeout of the menu by default.)number
hide-timeouttimeout before hiding a sub-menu(inherit hide-timeout of the menu by default.)number
disabledwhether the sub-menu is disabledbooleanfalse
popper-append-to-body deprecatedwhether to append the popup menu to body. If the positioning of the menu is wrong, you can try setting this propbooleanlevel one SubMenu: true / other SubMenus: false
teleportedwhether popup menu is teleported to the bodybooleanlevel one SubMenu: true / other SubMenus: false
popper-offsetoffset of the popper (overrides the popper of menu)number
expand-close-iconIcon when menu are expanded and submenu are closed, expand-close-icon and expand-open-icon need to be passed together to take effectstring | Component
expand-open-iconIcon when menu are expanded and submenu are opened, expand-open-icon and expand-close-icon need to be passed together to take effectstring | Component
collapse-close-iconIcon when menu are collapsed and submenu are closed, collapse-close-icon and collapse-open-icon need to be passed together to take effectstring | Component
collapse-open-iconIcon when menu are collapsed and submenu are opened, collapse-open-icon and collapse-close-icon need to be passed together to take effectstring | Component
NameDescriptionSubtags
customize default contentSubMenu / Menu-Item / Menu-Item-Group
titlecustomize title content
NameDescriptionTypeAccepted ValuesDefault
indexunique identificationstring/nullnull
routeVue Router objectobject
disabledwhether disabledbooleanfalse
NameDescriptionParameters
clickcallback function when menu-item is clickedel: menu-item instance
NameDescription
customize default content
titlecustomize title content
NameDescriptionTypeAccepted ValuesDefault
titlegroup titlestring
NameDescriptionSubtags
customize default contentMenu-Item
titlecustomize group title

Source

ComponentDocs

Contributors