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 @@