Menu that provides navigation for your website.
Top Bar
Top bar Menu can be used in a variety of scenarios.
By default Menu is vertical, but you can change it to horizontal by setting the mode prop to horizontal
.
Left and Right
You can make the menu items to the left or right.
Side Bar
Vertical Menu with sub-menus.
You can use the b-menu-item-group
component to create a menu group, and the name of the group is determined by the title prop or a named slot.
Attribute | Description | Type | Accepted Values | Default |
---|
mode | menu display mode | string | horizontal / vertical | vertical |
collapse | whether the menu is collapsed (available only in vertical mode) | boolean | — | false |
ellipsis | whether the menu is ellipsis (available only in horizontal mode) | boolean | — | true |
default-active | index of currently active menu | string | — | — |
default-openeds | array that contains indexes of currently active sub-menus | Array | — | — |
unique-opened | whether only one sub-menu can be active | boolean | — | false |
menu-trigger | how sub-menus are triggered, only works when mode is 'horizontal' | string | hover / click | hover |
router | whether vue-router mode is activated. If true, index will be used as 'path' to activate the route action | boolean | — | false |
collapse-transition | whether to enable the collapse transition | boolean | — | true |
Methods Name | Description | Parameters |
---|
open | open a specific sub-menu | index: index of the sub-menu to open |
close | close a specific sub-menu | index: index of the sub-menu to close |
Event Name | Description | Parameters |
---|
select | callback function when menu is activated | index: 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 |
open | callback function when sub-menu expands | index: index of expanded sub-menu, indexPath: index path of expanded sub-menu |
close | callback function when sub-menu collapses | index: index of collapsed sub-menu, indexPath: index path of collapsed sub-menu |
Name | Description | Subtags |
---|
— | customize default content | SubMenu / Menu-Item / Menu-Item-Group |
Attribute | Description | Type | Accepted Values | Default |
---|
index | unique identification | string | — | — |
popper-class | custom class name for the popup menu | string | — | — |
show-timeout | timeout before showing a sub-menu | number | — | 300 |
hide-timeout | timeout before hiding a sub-menu | number | — | 300 |
disabled | whether the sub-menu is disabled | boolean | — | false |
popper-append-to-body(deprecated) | whether to append the popup menu to body. If the positioning of the menu is wrong, you can try setting this prop | boolean | - | level one SubMenu: true / other SubMenus: false |
popper-offset | offset of the popper | number | — | 6 |
Name | Description | Subtags |
---|
— | customize default content | SubMenu / Menu-Item / Menu-Item-Group |
title | customize title content | — |
Attribute | Description | Type | Accepted Values | Default |
---|
index | unique identification | string/null | — | null |
route | Vue Router object | object | — | — |
disabled | whether disabled | boolean | — | false |
Event Name | Description | Parameters |
---|
click | callback function when menu-item is clicked | el: menu-item instance |
Name | Description |
---|
— | customize default content |
title | customize title content |
Attribute | Description | Type | Accepted Values | Default |
---|
title | group title | string | — | — |
Name | Description | Subtags |
---|
— | customize default content | Menu-Item |
title | customize group title | — |