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

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

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

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

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

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

想直接看答案的朋友:

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容