Flutter TextField iOS原生输入法onChange触发两次

说起来苹果原生输入法真的有毒

TextField只有在iOS原生输入法拼音情况下会有这种情况,iOS第三方输入法就不会有这种问题,安卓更是没有,网上找了半天也没有(也可能是我觉得不对)

后来分析了一下,发现会触发两次,但为什么别的输入法不会呢

我想着先调试一下,发现onChange中有setState刷新方法,我觉得这应该是唯一的可能性,于是尝试着改了一下,把setState注释掉了,发现真的可以了.想想应该是iOS原生输入法和别的输入法机制不一样

其他拼音输入法都是在键盘的上方进行拼写,iOS原生输入法是在输入框中进行拼写,每次的刷新导致重置了在输入框中的拼写动作

想直接看答案的朋友:

注释掉监听输入的刷新动作(onChange)

你可能感兴趣的:(Flutter TextField iOS原生输入法onChange触发两次)