Bläddra i källkod

fix(layout): 修复切换导航栏模式,分割菜单的状态不同步,导致页面内容区域存在被遮挡的问题 (#3519)

Co-authored-by: chengmingrui <chengmingrui@oneaiops.com>
xiaoMingTongXue 1 år sedan
förälder
incheckning
50276cb602
1 ändrade filer med 8 tillägg och 1 borttagningar
  1. 8 1
      src/layouts/default/setting/handler.ts

+ 8 - 1
src/layouts/default/setting/handler.ts

@@ -1,3 +1,4 @@
+import { MenuTypeEnum } from '@/enums/menuEnum';
 import { HandlerEnum } from './enum';
 import { updateHeaderBgColor, updateSidebarBgColor } from '@/logics/theme/updateBackground';
 import { updateColorWeak } from '@/logics/theme/updateColorWeak';
@@ -7,6 +8,7 @@ import { useAppStore } from '@/store/modules/app';
 import { ProjectConfig } from '#/config';
 import { updateDarkTheme } from '@/logics/theme/dark';
 import { useRootSetting } from '@/hooks/setting/useRootSetting';
+import projectSetting from '@/settings/projectSetting';
 
 export function baseHandler(event: HandlerEnum, value: any) {
   const appStore = useAppStore();
@@ -22,10 +24,15 @@ export function handler(event: HandlerEnum, value: any): DeepPartial<ProjectConf
   const appStore = useAppStore();
 
   const { getThemeColor, getDarkMode } = useRootSetting();
+  const { menuSetting } = projectSetting;
   switch (event) {
     case HandlerEnum.CHANGE_LAYOUT:
       const { mode, type, split } = value;
-      const splitOpt = split === undefined ? { split } : {};
+      const isMixSidebar = type === MenuTypeEnum.MIX;
+      const mixSideSplitOpt =
+        menuSetting.type === MenuTypeEnum.MIX ? { split: menuSetting.split } : { split };
+      const otherSplitOpt = { split: false };
+      const splitOpt = isMixSidebar ? mixSideSplitOpt : otherSplitOpt;
 
       return {
         menuSetting: {