UNPKG

@dove-ui/menu

Version:

A menu component for vue.

79 lines (61 loc) 3.08 kB
# Menu A menu component for vue. ```js import VcMenu from '@dove-ui/menu' import '@dove-ui/menu/dist/index.css' Vue.use(VcMenu) // VcMenu ``` ```html <vc-menu :menus="menus" theme="dark"></vc-menu> ``` ![](screenshot.png) ### Menu Attributes | Attribute | Description | Type | Accepted Values | Default | |----------------|--------------------|-------------------------|-----------------|---------| | menus | Menus object | [MenuItem[]](#MenuItem) | — | — | | theme | Menu theme | string | `dark`/`light` | — | | current-active | Selected items | any[] | — | [] | | multiple | Multiple selection | boolean | true/false | false | | render-item | Custom item render | function | — | — | | open-active | Auto open selected | function | true/false | — | ### Menu Events | Name | Description | Values | |----------|--------------------|-----------------------| | selected | Selected item | [MenuItem](#MenuItem) | | open | Open submenu item | [MenuItem](#MenuItem) | | close | Close submenu item | [MenuItem](#MenuItem) | ### Menu Slot-scopes | Name | Description | Values | |------|--------------------|-----------------------| | item | Custom item render | [MenuItem](#MenuItem) | **Custom item render** ```html <vc-menu :menus="menus" :current-active="['item4']" theme="dark"> <!-- before vue 2.6.0 <template slot-scope="menu" slot="item"> <img :src="logo" alt="" style="vertical-align:middle;width:12px;margin-right:5px;"> <span>{{menu.label}}</span> </template> --> <!-- vue 2.6.0+ --> <template v-slot:item="menu"> <img :src="logo" alt="" style="vertical-align:middle;width:12px;margin-right:5px;"> <span>{{menu.label}}</span> <span style="font-size: 12px;margin-left:10px;opacity:0.5;">{{menu.description}}</span> </template> </vc-menu> ``` ### MenuItem | Type | Attribute | Description | |-----------------|------------------|----------------------------| | string/function | menus[].label | item label | | MenuItem[] | menus[].children | submen | | boolean | menus[].group | item is group | | boolean | menus[].open | open submenu | | string | menus[].name | unique item name | | string/object | menus[].router | router-link#to | | function | menus[].hanlde | item click handle function | | string | menus[].link | link url | | string | menus[].target | link tergat | | string | menus[].title | title | | string | menus[].type | `line` Divider line | | string | menus[].hide | hidden item |