From 23e0da456add0deef1379479fbf045fc68529fd2 Mon Sep 17 00:00:00 2001 From: didyhu Date: Thu, 14 May 2026 09:45:06 +0800 Subject: [PATCH] fix: prevent hidden-word flicker when switching practice words --- apps/vscode-web/src/z-polyfill/TypeWord.vue | 21 +++++++++++++---- .../core/src/components/word/TypeWord.vue | 23 +++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/apps/vscode-web/src/z-polyfill/TypeWord.vue b/apps/vscode-web/src/z-polyfill/TypeWord.vue index 2bb51c8a4..12cc6e93f 100644 --- a/apps/vscode-web/src/z-polyfill/TypeWord.vue +++ b/apps/vscode-web/src/z-polyfill/TypeWord.vue @@ -92,6 +92,15 @@ let isWordTest = $computed(() => { ) }) +let shouldHideWordByDefault = $computed(() => { + return [ + WordPracticeType.Spell, + WordPracticeType.Listen, + WordPracticeType.Dictation, + WordPracticeType.Identify, + ].includes(settingStore.wordPracticeType) +}) + // 在全局对象中存储当前单词信息,以便其他模块可以访问 function updateCurrentWordInfo() { window.__CURRENT_WORD_INFO__ = { @@ -102,7 +111,11 @@ function updateCurrentWordInfo() { } } -watch(() => props.word, reset, { deep: true }) +watch( + () => props.word, + reset, + { flush: 'sync' } +) function reset() { clearJumpTimer() @@ -624,7 +637,7 @@ const isCollect = $computed(() => isWordCollect(props.word))
@@ -648,7 +661,7 @@ const isCollect = $computed(() => isWordCollect(props.word))