diff --git a/src/layouts/components/Menu/index.vue b/src/layouts/components/Menu/index.vue index a202a201..a76ea942 100644 --- a/src/layouts/components/Menu/index.vue +++ b/src/layouts/components/Menu/index.vue @@ -19,8 +19,6 @@ const props = withDefaults( }, ) -const router = useRouter() - const activeIndex = ref(props.value) const items = ref({}) const subMenus = ref({}) @@ -87,16 +85,11 @@ function setSubMenusActive(index: string) { }) } -const handleMenuItemClick: MenuInjection['handleMenuItemClick'] = (index, meta) => { +const handleMenuItemClick: MenuInjection['handleMenuItemClick'] = (index) => { if (props.mode === 'horizontal' || props.collapse) { openedMenus.value = [] } setSubMenusActive(index) - if (meta?.link) { - window.open(meta.link) - return - } - router.push(index) } const handleSubMenuClick: MenuInjection['handleSubMenuClick'] = (index, indexPath) => { if (openedMenus.value.includes(index)) { @@ -175,7 +168,7 @@ provide(rootMenuInjectionKey, reactive({ > diff --git a/src/layouts/components/Menu/item.vue b/src/layouts/components/Menu/item.vue index 860cc1d5..6f66eb6f 100644 --- a/src/layouts/components/Menu/item.vue +++ b/src/layouts/components/Menu/item.vue @@ -43,37 +43,45 @@ defineExpose({ active: isItemActive, }" > - + + + {{ typeof item.meta?.title === 'function' ? item.meta?.title() : item.meta?.title }} + + + + + diff --git a/src/layouts/components/Menu/sub.vue b/src/layouts/components/Menu/sub.vue index 3c301875..35f6a62d 100644 --- a/src/layouts/components/Menu/sub.vue +++ b/src/layouts/components/Menu/sub.vue @@ -114,7 +114,7 @@ function handleClick() { rootMenu.handleSubMenuClick(index, props.uniqueKey) } else { - rootMenu.handleMenuItemClick(index, props.menu.meta) + rootMenu.handleMenuItemClick(index) } } diff --git a/src/layouts/components/Menu/types.ts b/src/layouts/components/Menu/types.ts index cf24d309..6b3e690a 100644 --- a/src/layouts/components/Menu/types.ts +++ b/src/layouts/components/Menu/types.ts @@ -27,7 +27,7 @@ export interface MenuInjection { isMenuPopup: boolean openMenu: (index: string, indexPath: string[]) => void closeMenu: (index: string | string[]) => void - handleMenuItemClick: (index: string, meta?: Menu.recordRaw['meta']) => void + handleMenuItemClick: (index: string) => void handleSubMenuClick: (index: string, indexPath: string[]) => void }