ruoyi-plus-soybean/src/layouts/modules/global-menu/horizontal-mix-menu.vue

29 lines
722 B
Vue
Raw Normal View History

2023-11-17 08:45:00 +08:00
<script setup lang="ts">
import { useRouterPush } from '@/hooks/common/router';
2024-03-24 03:02:08 +08:00
import { useMixMenuContext } from '../../context';
2023-12-14 21:45:29 +08:00
import FirstLevelMenu from './first-level-menu.vue';
2023-11-17 08:45:00 +08:00
defineOptions({
name: 'HorizontalMixMenu'
});
const { activeFirstLevelMenuKey, setActiveFirstLevelMenuKey } = useMixMenuContext();
const { routerPushByKey } = useRouterPush();
function handleSelectMixMenu(menu: App.Global.Menu) {
setActiveFirstLevelMenuKey(menu.key);
if (!menu.children?.length) {
routerPushByKey(menu.routeKey);
}
}
</script>
<template>
<FirstLevelMenu :active-menu-key="activeFirstLevelMenuKey" @select="handleSelectMixMenu">
<slot></slot>
</FirstLevelMenu>
</template>
<style scoped></style>