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

Co-authored-by: chengmingrui <chengmingrui@oneaiops.com>
This commit is contained in:
xiaoMingTongXue
2024-01-10 09:24:12 +08:00
committed by GitHub
parent 8f175fca21
commit 50276cb602

View File

@@ -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: {