perf(projects): perf code
This commit is contained in:
parent
c05e7ff360
commit
dc24a36739
@ -57,14 +57,9 @@ function updateExpandedKeys() {
|
||||
}
|
||||
|
||||
function handleClickMenu(key: RouteKey) {
|
||||
const meta = routeStore.getSelectedMenuMetaByKey(key);
|
||||
if (meta?.fixedQuery) {
|
||||
routerPushByKey(key, {
|
||||
query: meta.fixedQuery
|
||||
});
|
||||
return;
|
||||
}
|
||||
routerPushByKey(key);
|
||||
const { query } = routeStore.getSelectedMenuMetaByKey(key) || {};
|
||||
|
||||
routerPushByKey(key, { query });
|
||||
}
|
||||
|
||||
watch(
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { computed, ref } from 'vue';
|
||||
import type { RouteMeta, RouteRecordRaw } from 'vue-router';
|
||||
import type { RouteRecordRaw } from 'vue-router';
|
||||
import { defineStore } from 'pinia';
|
||||
import { useBoolean } from '@sa/hooks';
|
||||
import type { CustomRoute, ElegantConstRoute, LastLevelRouteKey, RouteKey, RouteMap } from '@elegant-router/types';
|
||||
@ -278,9 +278,11 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
|
||||
*
|
||||
* @param selectedKey Selected menu key
|
||||
*/
|
||||
function getSelectedMenuMetaByKey(selectedKey: string): RouteMeta | null {
|
||||
function getSelectedMenuMetaByKey(selectedKey: string) {
|
||||
// The routes in router.options.routes are static, you need to use router.getRoutes() to get all the routes.
|
||||
return router.getRoutes().find(route => route.name === selectedKey)?.meta || null;
|
||||
const allRoutes = router.getRoutes();
|
||||
|
||||
return allRoutes.find(route => route.name === selectedKey)?.meta || null;
|
||||
}
|
||||
|
||||
return {
|
||||
|
4
src/typings/router.d.ts
vendored
4
src/typings/router.d.ts
vendored
@ -59,7 +59,7 @@ declare module 'vue-router' {
|
||||
multiTab?: boolean;
|
||||
/** If set, the route will be fixed in tabs, and the value is the order of fixed tabs */
|
||||
fixedIndexInTab?: number;
|
||||
/** Fixed query parameters that are automatically carried when entering the route */
|
||||
fixedQuery?: Record<string, string>;
|
||||
/** if set query parameters, it will be automatically carried when entering the route */
|
||||
query?: Record<string, string>;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user