From 83117bbf4b56f39e24d6a0265122532f1bf02e05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Wed, 8 Jan 2025 17:41:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E9=A1=B9=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=B7=AF=E7=94=B1=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=92=8C=E6=A0=87=E9=A2=98=E6=94=AF=E6=8C=81=EF=BC=8C?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A6=96=E9=A1=B5=E5=85=83=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/sakai-vue/AppMenu.vue | 10 ++++++---- src/pages/index.page.vue | 2 +- src/plugins/router.ts | 4 ++++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/layouts/sakai-vue/AppMenu.vue b/src/layouts/sakai-vue/AppMenu.vue index 8a30805..9e3aadc 100644 --- a/src/layouts/sakai-vue/AppMenu.vue +++ b/src/layouts/sakai-vue/AppMenu.vue @@ -4,13 +4,15 @@ import type { MenuItem } from 'primevue/menuitem'; const router = useRouter(); +type MenuItemWithRoute = MenuItem & { routeName?: string }; const menuItems = computed(() => { - let flatArray: MenuItem[] = createGetRoutes(router)() + let flatArray: MenuItemWithRoute[] = createGetRoutes(router)() .filter((route) => !route.path.includes('/:')) .filter((route) => !route.meta.hidden) .map((route) => ({ id: route.path, - label: `${(route.name as string) || route.path}`, + label: route.meta.title || `${(route.name as string) || route.path}`, + routeName: route.name as string, })); flatArray = flatArray.map((item, index) => { @@ -52,13 +54,13 @@ const menuItems = computed(() => { const tree = arrayToTree(flatArray.concat(groupItems), { id: 'id', parentId: 'parentId', rootId: '_ROOT_' }); // 递归把 children 改为 items - function _convertChildrenToItems(tree: MenuItem[]): MenuItem[] { + function _convertChildrenToItems(tree: MenuItemWithRoute[]) { return tree.map((item) => { if (item.children.length) { item.items = _convertChildrenToItems(item.children); } else { item.command = (event) => { - router.push({ name: item.label as never }); + router.push({ name: item.routeName as never }); }; } delete item.children; diff --git a/src/pages/index.page.vue b/src/pages/index.page.vue index 4da91e6..b6d4f79 100644 --- a/src/pages/index.page.vue +++ b/src/pages/index.page.vue @@ -1,7 +1,7 @@