基础的中后台布局界面组件
组件默认将从 vue-router 中获取生成菜单的路由信息,前往路由和菜单查看路由相关使用
通过配置 mode="horizontal" 作用于菜单实现顶栏模式
通过传入 routes 实现自定义路由显示
通过配置 transition 实现定义过渡动画
提示
当配置 transition 后,由于 Transition 组件限制,页面必须仅有一个根元素
通过配置 keep-alive 启用缓存,include exclude max 控制缓存内容
提示
启用后默认将缓存所有页面
include exclude 匹配的是页面的 name
推荐将需要缓存的页面以 Keep 开头命名,然后配置 :include="/^Keep/" 使用
提示
从 1.2.0 起,菜单将不兼容完整的 URL 地址跳转,需要通过自定义路由跳转实现
首先应该配置 :router="false", 然后通过 select 事件处理点击
为路由中 meta 配置 group: true,即可启用分组菜单
通过 CSS 变量配置菜单颜色
通过插槽实现更复杂的界面
default
footer
通过默认插槽改写 RouterView
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| fixed-header | 是否固定页面头部 | boolean | - | true |
| transition | 定义页面过渡渐变动画 | string | - | - |
| keep-alive | 是否启用缓存页面 | boolean | - | false |
| include | 匹配需要缓存页面的 name,当 keep-alive 为 true 时生效 | string / array / RegExp | - | - |
| exclude | 匹配不需要缓存页面的 name,当 keep-alive 为 true 时生效 | string / array / RegExp | - | - |
| max | 限制组件缓存的最大数量,当 keep-alive 为 true 时生效 | string / number | - | - |
| routes | 当前程序路由 | array | - | 从 vue-router 中获取 |
| mode | 导航菜单模式 | string | horizontal / vertical | vertical |
| collapse | 是否水平折叠收起菜单(仅在 mode 为 vertical 时可用) | boolean | - | false |
| ellipsis | 是否省略多余的子项(仅在横向模式生效) | boolean | — | true |
| default-openeds | 当前打开的 sub-menu 的 index 的数组 | Array | - | - |
| unique-opened | 是否只保持一个子菜单的展开 | boolean | - | false |
| menu-trigger | 子菜单打开的触发方式(只在 mode 为 horizontal 时有效) | string | hover / click | hover |
| router | 是否自动跳转路由 | boolean | — | true |
| collapse-transition | 是否开启折叠动画 | boolean | - | true |
| 事件名 | 说明 | 类型 |
|---|---|---|
| select | 菜单激活回调 | (index, indexPath, item) => void |
| open | sub-menu 展开的回调 | (index, indexPath, item) => void |
| close | sub-menu 收起的回调 | (index, indexPath, item) => void |
| 插槽名 | 说明 | 类型 |
|---|---|---|
| default | 自定义实现 RouterView | - |
| logo | 自定义 Logo,(collapse-当前菜单栏是否折叠) | { collapse } |
| menu | 控制菜单显示内容 | { meta, path, redirect } |
| footer | 页脚内容 | - |
| collapse-button | 折叠菜单按钮内容 | - |
| header-left | 头部左侧内容 | - |
| header-right | 头部右侧内容 | - |
| header-bottom | 头部下面内容 | - |