diff --git a/src/layouts/context/index.ts b/src/layouts/context/index.ts
index b2a0c274..8b542644 100644
--- a/src/layouts/context/index.ts
+++ b/src/layouts/context/index.ts
@@ -8,6 +8,7 @@ export const { setupStore: setupMixMenuContext, useStore: useMixMenuContext } =
function useMixMenu() {
const route = useRoute();
const routeStore = useRouteStore();
+ const { selectedKey } = useMenu();
const activeFirstLevelMenuKey = ref('');
@@ -16,12 +17,7 @@ function useMixMenu() {
}
function getActiveFirstLevelMenuKey() {
- const { hideInMenu, activeMenu } = route.meta;
- const name = route.name as string;
-
- const routeName = (hideInMenu ? activeMenu : name) || name;
-
- const [firstLevelRouteName] = routeName.split('_');
+ const [firstLevelRouteName] = selectedKey.value.split('_');
setActiveFirstLevelMenuKey(firstLevelRouteName);
}
@@ -68,3 +64,20 @@ function useMixMenu() {
getActiveFirstLevelMenuKey
};
}
+
+export function useMenu() {
+ const route = useRoute();
+
+ const selectedKey = computed(() => {
+ const { hideInMenu, activeMenu } = route.meta;
+ const name = route.name as string;
+
+ const routeName = (hideInMenu ? activeMenu : name) || name;
+
+ return routeName;
+ });
+
+ return {
+ selectedKey
+ };
+}
diff --git a/src/layouts/modules/global-menu/modules/horizontal-menu.vue b/src/layouts/modules/global-menu/modules/horizontal-menu.vue
index ade38acd..93df1095 100644
--- a/src/layouts/modules/global-menu/modules/horizontal-menu.vue
+++ b/src/layouts/modules/global-menu/modules/horizontal-menu.vue
@@ -1,26 +1,16 @@
diff --git a/src/layouts/modules/global-menu/modules/horizontal-mix-menu.vue b/src/layouts/modules/global-menu/modules/horizontal-mix-menu.vue
index cd996cb1..942a5276 100644
--- a/src/layouts/modules/global-menu/modules/horizontal-mix-menu.vue
+++ b/src/layouts/modules/global-menu/modules/horizontal-mix-menu.vue
@@ -1,31 +1,20 @@