如何正确处理受控反应输入中的压力字符?

时间:2018-09-07 19:47:02

标签: reactjs

当在受控反应输入中尝试输入带有重音字符(在我的情况中为希腊语)的单词时,我遇到一个奇怪的问题:

<input type="text" value={this.state.field} 
// and 
onChange={event => this.setState({ field: event.target.value } />

默认情况下,当我想输入带重音符号的字符时,我需要按分号,然后按字母,所以; + ο = ό

onChange()被触发3次: 1. value =“ ΄”(按;的结果) 2. value =“” 3. value =“ό”

首先是由于按;而其他两个同时发生,是os /浏览器删除前一个字母并用适当的强调字母替换它的结果。

但是,尽管事实上setState()被调用了3次,但组件调用仅渲染了2次(第一次为一次,第三次为setState一次),结果为“ ΄ό”。

Afaik这仅影响macOS / iOS。

有人解决此问题吗?

0 个答案:

没有答案