diff --git a/src/layouts/sakai-vue/AppMenu.vue b/src/layouts/sakai-vue/AppMenu.vue
index 8e1e5b1..320a1c2 100644
--- a/src/layouts/sakai-vue/AppMenu.vue
+++ b/src/layouts/sakai-vue/AppMenu.vue
@@ -1,37 +1,75 @@
-
+
diff --git a/src/pages/router.page.vue b/src/pages/router.page.vue
index 956b0cc..3676630 100644
--- a/src/pages/router.page.vue
+++ b/src/pages/router.page.vue
@@ -4,69 +4,6 @@ import type { MenuItem } from 'primevue/menuitem';
import { routes } from 'vue-router/auto-routes';
const router = useRouter();
-const menuItems = computed(() => {
- let flatArray: MenuItem[] = createGetRoutes(router)()
- .filter((route) => !route.path.includes('/:'))
- .map((route) => ({
- id: route.path,
- label: `${(route.name as string) || route.path}`,
- }));
-
- flatArray = flatArray.map((item, index) => {
- let id = item.id;
- if (flatArray.some((item) => item.id.startsWith(`${id}/`))) {
- id = `${id}/index`;
- }
- // 去掉最前面的 /
- id = id.replace(/^\//, '');
-
- let parentId = id.replace(/\/[^/]+$/, '');
- if (parentId === id) {
- parentId = '_ROOT_';
- }
- return {
- ...item,
- parentId,
- };
- });
- const groupItems = flatArray.reduce(
- (acc, flatArrItem) => {
- if (
- !acc.some((item) => item.id === flatArrItem.parentId) && //
- flatArrItem.parentId !== '_ROOT_'
- ) {
- let groupItemParentId = flatArrItem.parentId.replace(/\/[^/]+$/, '');
- if (groupItemParentId === flatArrItem.parentId) groupItemParentId = '_ROOT_';
- acc.push({
- id: flatArrItem.parentId,
- label: `Group ${flatArrItem.parentId}`,
- parentId: groupItemParentId,
- });
- }
- return acc;
- },
- [] as Record[],
- );
- console.debug(`groupItems :>> `, groupItems);
- const tree = arrayToTree(flatArray.concat(groupItems), { id: 'id', parentId: 'parentId', rootId: '_ROOT_' });
-
- // 递归把 children 改为 items
- function _convertChildrenToItems(tree: MenuItem[]): MenuItem[] {
- return tree.map((item) => {
- if (item.children.length) {
- item.items = _convertChildrenToItems(item.children);
- } else {
- item.command = (event) => {
- router.push({ name: item.label as never });
- };
- }
- delete item.children;
- return item;
- });
- }
- return _convertChildrenToItems(tree);
-});
-
const list = [
{
title: 'routes',
@@ -98,22 +35,14 @@ const list = [
components: undefined,
})),
},
- {
- title: 'menuItems',
- json: menuItems.value,
- },
];
-
+
- MenuTest
{{ item.title }}
-
-
-
{{ item.json }}