From 79e2a604af37236b7aefa4ace8679b7aa424491b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8A=B1=E8=A3=A4=E8=A1=A9?= Date: Mon, 8 Apr 2019 12:58:33 +0800 Subject: [PATCH] feature[Sidebar]: add activeMenu option (#1833) --- src/layout/components/Sidebar/index.vue | 11 ++++++- src/router/index.js | 40 ++++++++++++------------- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index f02a4819..773cd5c8 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -3,7 +3,7 @@ =1 - * detail see https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html - **/ - /** -* hidden: true if `hidden:true` will not show in the sidebar(default is false) -* alwaysShow: true if set true, will always show the root menu, whatever its child routes length -* if not set alwaysShow, only more than one route under the children -* it will becomes nested mode, otherwise not show the root menu -* redirect: noredirect if `redirect:noredirect` will no redirect in the breadcrumb -* name:'router-name' the name is used by (must set!!!) -* meta : { - roles: ['admin','editor'] will control the page roles (you can set multiple roles) - title: 'title' the name show in sub-menu and breadcrumb (recommend set) + * Note: sub-menu only appear when route children.length >= 1 + * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html + * + * hidden: true if set true, item will not show in the sidebar(default is false) + * alwaysShow: true if set true, will always show the root menu + * if not set alwaysShow, when item has more than one children route, + * it will becomes nested mode, otherwise not show the root menu + * redirect: noredirect if `redirect:noredirect` will no redirect in the breadcrumb + * name:'router-name' the name is used by (must set!!!) + * meta : { + roles: ['admin','editor'] control the page roles (you can set multiple roles) + title: 'title' the name show in sidebar and breadcrumb (recommend set) icon: 'svg-name' the icon show in the sidebar - noCache: true if true, the page will no be cached(default is false) - breadcrumb: false if false, the item will hidden in breadcrumb(default is true) - affix: true if true, the tag will affix in the tags-view + noCache: true if set true, the page will no be cached(default is false) + affix: true if set true, the tag will affix in the tags-view + breadcrumb: false if set false, the item will hidden in breadcrumb(default is true) + activeMenu: '/example/list' if set path, the sidebar will highlight the path you set } -**/ + */ /** * constantRoutes * a base page that does not have permission requirements * all roles can be accessed - * */ + */ export const constantRoutes = [ { path: '/redirect', @@ -113,7 +113,7 @@ export const constantRoutes = [ /** * asyncRoutes * the routes that need to be dynamically loaded based on user roles -*/ + */ export const asyncRoutes = [ { path: '/permission', @@ -195,7 +195,7 @@ export const asyncRoutes = [ path: 'edit/:id(\\d+)', component: () => import('@/views/example/edit'), name: 'EditArticle', - meta: { title: 'editArticle', noCache: true }, + meta: { title: 'editArticle', noCache: true, activeMenu: '/example/list' }, hidden: true }, {