diff --git a/src/components/Menu/src/Menu.vue b/src/components/Menu/src/Menu.vue
index 7c55d22..bf2eebe 100644
--- a/src/components/Menu/src/Menu.vue
+++ b/src/components/Menu/src/Menu.vue
@@ -47,6 +47,8 @@ export default defineComponent({
const collapse = computed(() => appStore.getCollapse)
+ const uniqueOpened = computed(() => appStore.getUniqueOpened)
+
const activeMenu = computed(() => {
const { meta, path } = unref(currentRoute)
// if set path, the sidebar will highlight the path you set
@@ -87,6 +89,7 @@ export default defineComponent({
collapse={
unref(layout) === 'top' || unref(layout) === 'cutMenu' ? false : unref(collapse)
}
+ uniqueOpened={unref(layout) === 'top' ? false : unref(uniqueOpened)}
backgroundColor="var(--left-menu-bg-color)"
textColor="var(--left-menu-text-color)"
activeTextColor="var(--left-menu-text-active-color)"
diff --git a/src/components/Setting/src/Setting.vue b/src/components/Setting/src/Setting.vue
index 36582df..94d328f 100644
--- a/src/components/Setting/src/Setting.vue
+++ b/src/components/Setting/src/Setting.vue
@@ -130,6 +130,8 @@ const copyConfig = async () => {
tagsView: ${appStore.getTagsView},
// logo
logo: ${appStore.getLogo},
+ // 菜单手风琴
+ uniqueOpened: ${appStore.getUniqueOpened},
// 固定header
fixedHeader: ${appStore.getFixedHeader},
// 页脚
diff --git a/src/components/Setting/src/components/InterfaceDisplay.vue b/src/components/Setting/src/components/InterfaceDisplay.vue
index 484febb..bc3749c 100644
--- a/src/components/Setting/src/components/InterfaceDisplay.vue
+++ b/src/components/Setting/src/components/InterfaceDisplay.vue
@@ -72,6 +72,13 @@ const logoChange = (show: boolean) => {
appStore.setLogo(show)
}
+// 菜单手风琴
+const uniqueOpened = ref(appStore.getUniqueOpened)
+
+const uniqueOpenedChange = (uniqueOpened: boolean) => {
+ appStore.setUniqueOpened(uniqueOpened)
+}
+
// 固定头部
const fixedHeader = ref(appStore.getFixedHeader)
@@ -147,6 +154,11 @@ watch(