feat: The accordion mode of the menu is configurable

This commit is contained in:
vben
2024-05-22 22:56:26 +08:00
parent a0423eb9ba
commit c28adc9a94
12 changed files with 30 additions and 3 deletions

View File

@@ -50,6 +50,7 @@ function getTransitionName(route: RouteLocationNormalizedLoaded) {
<component
:is="Component"
v-if="renderRouteView"
v-show="!route.meta.iframeSrc"
:key="route.fullPath"
class="h-[1000px]"
/>

View File

@@ -183,6 +183,7 @@ function wrapperMenus(menus: MenuRecordRaw[]) {
<template #menu>
<LayoutMenu
mode="vertical"
:accordion="preference.navigationAccordion"
:rounded="isMenuRounded"
:collapse-show-title="preference.sideCollapseShowTitle"
:collapse="preference.sideCollapse"
@@ -206,6 +207,7 @@ function wrapperMenus(menus: MenuRecordRaw[]) {
<!-- 侧边额外区域 -->
<template #side-extra>
<LayoutExtraMenu
:accordion="preference.navigationAccordion"
:rounded="isMenuRounded"
:menus="wrapperMenus(extraMenus)"
:collapse="preference.sideExtraCollapse"

View File

@@ -12,7 +12,10 @@ interface Props extends MenuProps {
menus: MenuRecordRaw[];
}
defineProps<Props>();
withDefaults(defineProps<Props>(), {
accordion: true,
menus: () => [],
});
const route = useRoute();
const { navigation } = useNavigation();
@@ -25,6 +28,7 @@ async function handleSelect(key: string) {
<template>
<Menu
:rounded="rounded"
:accordion="accordion"
:collapse="collapse"
:default-active="route.path"
:menus="menus"

View File

@@ -8,6 +8,7 @@ interface Props extends MenuProps {
}
const props = withDefaults(defineProps<Props>(), {
accordion: true,
menus: () => [],
});
@@ -25,6 +26,7 @@ function handleMenuSelect(key: string) {
:rounded="rounded"
:collapse-show-title="collapseShowTitle"
:collapse="collapse"
:accordion="accordion"
:default-active="defaultActive"
:menus="menus"
:theme="theme"