element-plus/docs/en-US/component/menu.md
jeremywu c6bed151a5
epic(website): refactor website (#3426)
* feat(website): init viteperss (#3162)

* init vitepress

* Finish homepage

* relayout page

* partial finish

* update

* update use lang

* remove font weight; change font size

* docs: optimize docs folder structure

* reorganize project

* fix ssr issue

* fix build issues

Co-authored-by: Kevin <sxzz@sxzz.moe>
Co-authored-by: zouhang <zouhang@didiglobal.com>

* feat(website) integrate with crowdin (#3218)

- Introduce Crowdin CLI
- Add script for fetching Crowdin token from env
- Add script for local development

* fix formatting

* update codeblocks (#3249)

* feat(docs): update website preview script

- Update azure preview build script
- Eliminate dead links

* bootstrap docs

* fix homepage layout issue

* fix formating

* Finish ToC and codepen integration

* reorganized files and fix issue that causes demo unavailable after build

* feat(docs): migration documentations (#3283)

* feat(docs): migration documentations

- Move documentations to docs/

* remove unused files

* docs: [popconfirm] migrate document (#3285)

* feat(docs): migrate documentation from space.md to upload.md (#3292)

- Upload documentations acorrodingly

* docs: [date-picker] migrate document  (#3289)

* docs: [date-picker] migrate document

* fix: typo

* docs: [slider] migrate document (#3287)

* docs: migrate documents (#3290)

* docs: migrate-datetime-picker

* docs: migrate descriptions

* docs: migrate dialog

* docs: migrate divider

* docs: migrate drawer

* docs: migrate drapdown

* docs: fix drapdown

* docs: migrate empty

* docs: migrate form

* docs: add scoped for style

* docs: simplify toRefs

* chore: update doc (#3297)

* chore: update doc

* chore: update doc

* chore: update doc

* feat(docs): migrate documentations from infinite-scroll to page-header (#3303)

- Update docs accordingly
- Update CodePen icon to match style
- Update component name to match others

* docs: migrate documentions (#3293)

migrate list:
* image
* popover
* scrollbar
* radio
* rate
* skeleton
* select
* select-v2
* reault
* progress
* pagination

* chore: update doc (#3305)

Co-authored-by: 0song <0song@gmail.com>

* Fix broken pipeline

* chore: update demo plugin

* website perfection

* fix hydration bug

* docs: update guide (#3342)

* WIP docs

* docs: update docs

* add dark mode

* make dev fetch components from local instead of node_modules

Co-authored-by: msidolphin <msidolphin@outlook.com>
Co-authored-by: Aex <spryti@qq.com>
Co-authored-by: 0song <82012629+0song@users.noreply.github.com>
Co-authored-by: 0song <0song@gmail.com>
Co-authored-by: zouhang <zouhang@didiglobal.com>
Co-authored-by: 三咲智子 <sxzz@sxzz.moe>

* fix(docs): fix codepen code example issue (#3380)

* fix(docs): fix codepen code example issue

- Add lang="ts" for all example files
- Fix codepen import error

* revert changes in resource.vue

* feat(docs): complete crowdin integration (#3408)

* Update mds for preparing the integration script

* deprecate old website

* update sponsors and even handler for resize

* update build script for preview

* fix preview-build error

* fix preview-build error

* fix preview-build error

* fix preview-build error

* fix preview-build error

* update deploy script and some bugs

* Fix existing issue

* chore(project): add dev preview workflow

* chore(project): rename dev to staging

* update the size of toc

* update staging-preview script

* update preview scripts

* enable website build for preview

* fix build error

* final commitment for update the details

* remove azure pipeline

* move docs ignores into docs and update date

Co-authored-by: Kevin <sxzz@sxzz.moe>
Co-authored-by: zouhang <zouhang@didiglobal.com>
Co-authored-by: msidolphin <msidolphin@outlook.com>
Co-authored-by: Aex <spryti@qq.com>
Co-authored-by: 0song <82012629+0song@users.noreply.github.com>
Co-authored-by: 0song <0song@gmail.com>
2021-09-17 00:18:50 +08:00

7.2 KiB

Nav Menu

Menu that provides navigation for your website.

Top bar

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

:::demo By default Menu is vertical, but you can change it to horizontal by setting the mode prop to 'horizontal'. In addition, you can use the sub-menu component to create a second level menu. Menu provides background-color, text-color and active-text-color to customize the colors.

menu/basic

:::

Side bar

Vertical NavMenu with sub-menus.

:::demo You can use the el-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.

menu/vertical

:::

Collapse

Vertical NavMenu could be collapsed.

:::demo

menu/collapse

:::

Menu Attributes

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
background-color background color of Menu (hex format) string #ffffff
text-color text color of Menu (hex format) string #303133
active-text-color text color of currently active menu item (hex format) string #409EFF
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

Menu Methods

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

Menu Events

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

Menu-Item Events

Event Name Description Parameters
click callback function when menu-item is clicked el: menu-item instance

SubMenu Attributes

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 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

Menu-Item Attributes

Attribute Description Type Accepted Values Default
index unique identification string/null null
route Vue Router object object
disabled whether disabled boolean false

Menu-Item-Group Attributes

Attribute Description Type Accepted Values Default
title group title string