earthworm icon indicating copy to clipboard operation
earthworm copied to clipboard

feat(question.vue):fix click 'enter' with zh input method cause subm…

Open Lck6de1p opened this issue 1 year ago • 5 comments

问题描述: 中文输入法输入点击“enter”键时,导致界面显示的结果是正确的,但是点击“enter”无法校验结果并进入下一题

https://github.com/cuixueshe/earthworm/assets/46702192/9c438289-a75d-4911-a60a-96b8a4ac8d5f

问题定位: 中文输入法输入一个单词后,点击enter的时候才会把值赋给inputValue,但是在赋值前就触发submitAnswer方法校验答案了,之后将mode改为fixed,导致界面展示的效果和期望的不同,并且卡在这无法进入下一题

解决方案: 在handleKeydown 为‘enter’的时候,添加setTimeout用于保证inputValue赋值完成后,再触发submitAnswer校验

Lck6de1p avatar Apr 02 '24 03:04 Lck6de1p

用 setTimeout 不是好主意 换个思路呢 观察下如果是中文输入按下回车 input 的值是什么 基于这个值来做个提前检测

cuixiaorui avatar Apr 02 '24 03:04 cuixiaorui

用 setTimeout 不是好主意 换个思路呢 观察下如果是中文输入按下回车 input 的值是什么 基于这个值来做个提前检测

回车后inputValue为输入前的值,并且keydown返回的e也没有什么有价值的信息

Lck6de1p avatar Apr 02 '24 04:04 Lck6de1p

把setTimeout改为 每次回车会手动的调用一次setInputValue已确保拿到最新的inputvalue

Lck6de1p avatar Apr 02 '24 07:04 Lck6de1p

@Lck6de1p 你好,麻烦解决一下冲突,感谢~

fengstats avatar Apr 07 '24 12:04 fengstats

@Lck6de1p 你好,麻烦解决一下冲突,感谢~

done

Lck6de1p avatar Apr 08 '24 07:04 Lck6de1p

感谢🙏🏻 done commit

cuixiaorui avatar Apr 15 '24 10:04 cuixiaorui