File tree Expand file tree Collapse file tree
packages/core/src/components/word Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -65,6 +65,7 @@ let showWordResult = ref(false)
6565let wrongTimes = ref (0 )
6666// 输入锁定,因为跳转到下一个单词有延时,如果重复在延时期间内重复输入,导致会跳转N次
6767let inputLock = false
68+ let waitClear = false
6869let wordRepeatCount = 0
6970// 记录单词完成的时间戳,用于防止同时按下最后一个字母和空格键时跳过单词
7071let wordCompletedTime = 0
@@ -309,6 +310,10 @@ function select(e, index: number) {
309310let currentPracticeSentenceIndex = $ref (- 1 )
310311
311312async function onTyping(e : KeyboardEvent ) {
313+ if (waitClear ) {
314+ return
315+ }
316+
312317 if (isWordTest ) {
313318 if (e .code === ' Space' ) {
314319 if (completeSelect ) {
@@ -469,16 +474,20 @@ async function onTyping(e: KeyboardEvent) {
469474 input += letter
470475 wrong = ' '
471476 playKeyboardAudio ()
477+ inputLock = false
472478 } else {
473479 typo ()
474480 wrong = letter
475481 playBeep ()
476482 if (settingStore .wordSound ) {
477483 playWord (WordPlayTrigger .Typo , { volumeRef: targetVolumeIcon })
478484 }
485+ waitClear = true
479486 setTimeout (() => {
480487 if (settingStore .inputWrongClear && ! isTypingSentence ()) input = ' '
481488 wrong = ' '
489+ waitClear = false
490+ inputLock = false
482491 }, 500 )
483492 }
484493 // 更新当前单词信息
@@ -498,8 +507,6 @@ async function onTyping(e: KeyboardEvent) {
498507 completeTypeWord (true )
499508 }
500509 }
501- } else {
502- inputLock = false
503510 }
504511 }
505512}
You can’t perform that action at this time.
0 commit comments