From 93fb212e0c0d5e8f2a78ae360e2126dc5c7d8698 Mon Sep 17 00:00:00 2001 From: ahao <liuhaoai545@gmail.com> Date: 星期六, 02 九月 2023 00:55:02 +0800 Subject: [PATCH] fix #I7WUYJ 菜单切换主题为浅色主题后颜色不正常 --- src/layout/components/Settings/index.vue | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue index 8eb7921..d5522ae 100644 --- a/src/layout/components/Settings/index.vue +++ b/src/layout/components/Settings/index.vue @@ -3,7 +3,7 @@ <h3 class="drawer-title">涓婚椋庢牸璁剧疆</h3> <div class="setting-drawer-block-checbox"> - <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-dark')"> + <div class="setting-drawer-block-checbox-item" @click="handleTheme(SideThemeEnum.DARK)"> <img src="@/assets/images/dark.svg" alt="dark" /> <div v-if="sideTheme === 'theme-dark'" class="setting-drawer-block-checbox-selectIcon" style="display: block;"> <i aria-label="鍥炬爣: check" class="anticon anticon-check"> @@ -15,7 +15,7 @@ </i> </div> </div> - <div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-light')"> + <div class="setting-drawer-block-checbox-item" @click="handleTheme(SideThemeEnum.LIGHT)"> <img src="@/assets/images/light.svg" alt="light" /> <div v-if="sideTheme === 'theme-light'" class="setting-drawer-block-checbox-selectIcon" style="display: block;"> <i aria-label="鍥炬爣: check" class="anticon anticon-check"> @@ -95,6 +95,7 @@ import { handleThemeStyle } from '@/utils/theme' import { ComponentInternalInstance } from "vue"; import { SettingTypeEnum } from "@/enums/SettingTypeEnum"; +import { SideThemeEnum } from "@/enums/SideThemeEnum"; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const appStore = useAppStore() @@ -114,6 +115,13 @@ valueDark: 'dark', valueLight: 'light', }); +watch(isDark, ()=> { + if (isDark.value) { + settingsStore.changeSetting({ key: SettingTypeEnum.SIDE_THEME, value: SideThemeEnum.DARK }) + } else { + settingsStore.changeSetting({ key: SettingTypeEnum.SIDE_THEME, value: sideTheme.value }) + } +}) const toggleDark = () => useToggle(isDark); /** 鏄惁闇�瑕乼opNav */ @@ -166,8 +174,13 @@ } } const handleTheme = (val: string) => { - settingsStore.changeSetting({ key: SettingTypeEnum.SIDE_THEME, value: val }) sideTheme.value = val; + if (isDark.value && val === SideThemeEnum.LIGHT) { + // 鏆楅粦妯″紡棰滆壊涓嶅彉 + settingsStore.changeSetting({ key: SettingTypeEnum.SIDE_THEME, value: SideThemeEnum.DARK }) + return + } + settingsStore.changeSetting({ key: SettingTypeEnum.SIDE_THEME, value: val }) } const saveSetting = () => { proxy?.$modal.loading("姝e湪淇濆瓨鍒版湰鍦帮紝璇风◢鍊�..."); -- Gitblit v1.9.3