## ナビゲーションメニュー
ウェブサイトのナビゲーションを提供するメニュー。
### トップバー
トップバーのナビゲーションメニューは、様々なシーンで使用することができます。
:::demo デフォルトではメニューは縦長ですが、モードプロップを'horizontal'に設定することで横長にすることができます。また、サブメニューコンポーネントを使って第 2 階層のメニューを作成することもできます。メニューには `background-color`, `text-color`, `active-text-color` が用意されており、色をカスタマイズすることができます。
```html
```
:::
### サイドバー
V サブメニューのある縦型ナビメニュー。
:::demo el-menu-item-group コンポーネントを使ってメニューグループを作成することができ、グループの名前はタイトルプロップか名前付きスロットで決まります。
```html
Default colors
Custom colors
```
:::
### コラプス
縦型のナビメニューを潰すことも出来ます。
:::demo
```html
expand
collapse
```
:::
### メニュー属性
| Attribute | Description | Type | Accepted Values | Default |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------- | -------- |
| mode | メニュー表示モード | string | horizontal / vertical | vertical |
| collapse | メニューが折りたたまれているかどうか (垂直モードでのみ利用可能) | boolean | — | false |
| background-color | メニューの背景色(16 進数形式) | string | — | #ffffff |
| text-color | メニューのテキストカラー(16 進数形式) | string | — | #303133 |
| active-text-color | 現在アクティブなメニュー項目のテキスト色 (16 進数形式) | string | — | #409EFF |
| default-active | アクティブメニューのインデックス | string | — | — |
| default-openeds | 現在アクティブなサブメニューのインデックスを含む配列 | Array | — | — |
| unique-opened | 一つのサブメニューだけをアクティブにすることができるかどうか | boolean | — | false |
| menu-trigger | サブメニューのトリガ方法、`mode` が 'horizontal' の時のみ動作する | string | hover / click | hover |
| router | `vue-router` モードを有効にしているかどうかを示します。true の場合、インデックスはルートアクションを有効にするための 'path' として使われます。 | boolean | — | false |
| collapse-transition | 折りたたみ遷移を有効にするかどうか | boolean | — | true |
### メニューメソッド
| Methods Name | Description | Parameters |
| ------------ | -------------------------- | ------------------------------------- |
| open | 特定のサブメニューを開く | index: index of the sub-menu to open |
| close | 特定のサブメニューを閉じる | index: index of the sub-menu to close |
### メニューイベント
| Event Name | Description | Parameters |
| ---------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| select | メニュー起動時コールバック機能 | index: index of activated menu, indexPath: index path of activated menu, item: 選択されたメニュー項目, routeResult: `router` が有効な場合に `vue-router` が返す結果 |
| open | サブメニュー展開したときのコールバック関数 | index: index of expanded sub-menu, indexPath: index path of expanded sub-menu |
| close | サブメニューを折りたたんだ時のコールバック関数 | index: index of collapsed sub-menu, indexPath: index path of collapsed sub-menu |
### メニューアイテムイベント
| Event Name | Description | Parameters |
| ---------- | -------------------------------------------------- | ---------------------- |
| click | メニュー項目がクリックされたときのコールバック関数 | el: menu-item instance |
### サブメニュー属性
| Attribute | Description | Type | Accepted Values | Default |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------- | ----------------------------------------------- |
| index | ユニークアイデンティフィケーション | string | — | — |
| popper-class | ポップアップメニューのカスタムクラス名 | string | — | — |
| show-timeout | サブメニュー表示前のタイムアウト | number | — | 300 |
| hide-timeout | サブメニューを隠す前のタイムアウト | number | — | 300 |
| disabled | サブメニューが無効化されているかどうか | boolean | — | false |
| popper-append-to-body | ポップアップメニューをボディに追加するかどうかを指定します。メニューの位置が正しくない場合は、この prop を調整してみてください。 | boolean | - | level one SubMenu: true / other SubMenus: false |
### メニューアイテム属性
| Attribute | Description | Type | Accepted Values | Default |
| --------- | ---------------------------------- | ----------- | --------------- | ------- |
| index | ユニークアイデンティフィケーション | string/null | — | null |
| route | Vue Router オブジェクト | object | — | — |
| disabled | 無効化かどうか | boolean | — | false |
### メニューグループ属性
| Attribute | Description | Type | Accepted Values | Default |
| --------- | ---------------- | ------ | --------------- | ------- |
| title | グループタイトル | string | — | — |