From 05871038e42a50f38fdc2a201107d786431691cd Mon Sep 17 00:00:00 2001 From: BeADre Date: Sun, 7 Nov 2021 23:11:40 +0800 Subject: [PATCH] fix(doc): progress bar should not use unmount function --- packages/varlet-cli/site/useProgress.ts | 2 +- packages/varlet-cli/site/utils.ts | 21 ++++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/varlet-cli/site/useProgress.ts b/packages/varlet-cli/site/useProgress.ts index dfac7c2977e..06b9d9fae94 100644 --- a/packages/varlet-cli/site/useProgress.ts +++ b/packages/varlet-cli/site/useProgress.ts @@ -38,7 +38,7 @@ export function useProgress() { currentThemes = themes props.trackColor = getTrackColor(themes) props.color = props.value === 100 ? getTrackColor(themes) : getColor(themes) - }) + }, false) const changeValue = () => { timer = window.setTimeout(() => { diff --git a/packages/varlet-cli/site/utils.ts b/packages/varlet-cli/site/utils.ts index 9de955bab1b..b3f312e4b4a 100644 --- a/packages/varlet-cli/site/utils.ts +++ b/packages/varlet-cli/site/utils.ts @@ -39,7 +39,7 @@ export function getPCLocationInfo(): PCLocationInfo { return { language, - menuName + menuName, } } @@ -50,7 +50,7 @@ export function isPhone() { export enum MenuTypes { TITLE = 1, COMPONENT = 2, - DOCUMENTATION = 3 + DOCUMENTATION = 3, } export function inIframe() { @@ -74,9 +74,7 @@ export function getHashSearch() { export function watchLang(cb: (lang: string) => void, platform: 'pc' | 'mobile' = 'mobile') { const handleHashchange = () => { - const language = platform === 'mobile' - ? (getHashSearch().get('language') ?? 'zh-CN') - : getPCLocationInfo().language + const language = platform === 'mobile' ? getHashSearch().get('language') ?? 'zh-CN' : getPCLocationInfo().language cb(language) } @@ -97,7 +95,10 @@ export function watchPlatform(cb: (platform: string) => void) { handleHashchange() } -export function watchThemes(cb: (themes: 'themes' | 'darkThemes', from: 'pc' | 'mobile' | 'default') => void) { +export function watchThemes( + cb: (themes: 'themes' | 'darkThemes', from: 'pc' | 'mobile' | 'default') => void, + shouldUnmount = true +) { const handleThemesChange = (event: MessageEvent) => { const { data } = event if (data.action === 'themesChange') { @@ -107,9 +108,11 @@ export function watchThemes(cb: (themes: 'themes' | 'darkThemes', from: 'pc' | ' window.addEventListener('message', handleThemesChange) - onUnmounted(() => { - window.removeEventListener('message', handleThemesChange) - }) + if (shouldUnmount) { + onUnmounted(() => { + window.removeEventListener('message', handleThemesChange) + }) + } cb(getBrowserThemes(), 'default') }