暂存
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>src/pages/a/a.vue</div>
|
<div></div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts"></script>
|
<script setup lang="ts"></script>
|
7
src/pages/a/a2.page.vue
Normal file
7
src/pages/a/a2.page.vue
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<template>
|
||||||
|
<div></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
7
src/pages/a/b/c.page.vue
Normal file
7
src/pages/a/b/c.page.vue
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<template>
|
||||||
|
<div></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
@ -3,6 +3,31 @@ import { createGetRoutes, setupLayoutsResult } from '@/plugins/router';
|
|||||||
import { routes } from 'vue-router/auto-routes';
|
import { routes } from 'vue-router/auto-routes';
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
const menuItems = computed(() => {
|
||||||
|
let flatArray: Record<string, string>[] = createGetRoutes(router)()
|
||||||
|
.filter((route) => !route.path.includes('/:'))
|
||||||
|
.map((route) => ({
|
||||||
|
id: route.path,
|
||||||
|
name: `${(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}/`;
|
||||||
|
}
|
||||||
|
// 去掉最前面的 /
|
||||||
|
id = id.replace(/^\//, '');
|
||||||
|
return {
|
||||||
|
id: id,
|
||||||
|
parentId: id.replace(/\/[^/]+$/, ''),
|
||||||
|
name: item.name,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
console.debug(`flatArray :>> `, JSON.stringify(flatArray, null, 2));
|
||||||
|
return flatArray;
|
||||||
|
});
|
||||||
|
|
||||||
const list = [
|
const list = [
|
||||||
{
|
{
|
||||||
title: 'routes',
|
title: 'routes',
|
||||||
@ -23,10 +48,6 @@ const list = [
|
|||||||
components: undefined,
|
components: undefined,
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// title: 'createGetRoutes(router, true)()',
|
|
||||||
// json: createGetRoutes(router, true)(),
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
title: 'router.getRoutes()',
|
title: 'router.getRoutes()',
|
||||||
json: router.getRoutes().map((route) => ({
|
json: router.getRoutes().map((route) => ({
|
||||||
@ -38,10 +59,14 @@ const list = [
|
|||||||
components: undefined,
|
components: undefined,
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: 'menuItems',
|
||||||
|
json: menuItems.value,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<Tabs :value="list[0].title">
|
<Tabs :value="list[0].title" scrollable>
|
||||||
<TabList>
|
<TabList>
|
||||||
<Tab v-for="item in list" :key="item.title" :value="item.title">{{ item.title }}</Tab>
|
<Tab v-for="item in list" :key="item.title" :value="item.title">{{ item.title }}</Tab>
|
||||||
</TabList>
|
</TabList>
|
||||||
|
4
typed-router.d.ts
vendored
4
typed-router.d.ts
vendored
@ -22,7 +22,9 @@ declare module 'vue-router/auto-routes' {
|
|||||||
'$Path': RouteRecordInfo<'$Path', '/:path(.*)', { path: ParamValue<true> }, { path: ParamValue<false> }>,
|
'$Path': RouteRecordInfo<'$Path', '/:path(.*)', { path: ParamValue<true> }, { path: ParamValue<false> }>,
|
||||||
'中文页面': RouteRecordInfo<'中文页面', '/中文-页面', Record<never, never>, Record<never, never>>,
|
'中文页面': RouteRecordInfo<'中文页面', '/中文-页面', Record<never, never>, Record<never, never>>,
|
||||||
'A': RouteRecordInfo<'A', '/a', Record<never, never>, Record<never, never>>,
|
'A': RouteRecordInfo<'A', '/a', Record<never, never>, Record<never, never>>,
|
||||||
'AA': RouteRecordInfo<'AA', '/a/a', Record<never, never>, Record<never, never>>,
|
'AA1': RouteRecordInfo<'AA1', '/a/a1', Record<never, never>, Record<never, never>>,
|
||||||
|
'AA2': RouteRecordInfo<'AA2', '/a/a2', Record<never, never>, Record<never, never>>,
|
||||||
|
'ABC': RouteRecordInfo<'ABC', '/a/b/c', Record<never, never>, Record<never, never>>,
|
||||||
'Api': RouteRecordInfo<'Api', '/api', Record<never, never>, Record<never, never>>,
|
'Api': RouteRecordInfo<'Api', '/api', Record<never, never>, Record<never, never>>,
|
||||||
'DataLoadersId': RouteRecordInfo<'DataLoadersId', '/data-loaders/:id', { id: ParamValue<true> }, { id: ParamValue<false> }>,
|
'DataLoadersId': RouteRecordInfo<'DataLoadersId', '/data-loaders/:id', { id: ParamValue<true> }, { id: ParamValue<false> }>,
|
||||||
'DataLoadersIdSub1UserId': RouteRecordInfo<'DataLoadersIdSub1UserId', '/data-loaders/:id/sub-1/:userId', { id: ParamValue<true>, userId: ParamValue<true> }, { id: ParamValue<false>, userId: ParamValue<false> }>,
|
'DataLoadersIdSub1UserId': RouteRecordInfo<'DataLoadersIdSub1UserId', '/data-loaders/:id/sub-1/:userId', { id: ParamValue<true>, userId: ParamValue<true> }, { id: ParamValue<false>, userId: ParamValue<false> }>,
|
||||||
|
Reference in New Issue
Block a user