解决flutter iOS验证码自动填充时被复制两遍的问题

  • 1、定义私有变量_controller和_codeText
TextEditingController _controller = TextEditingController();
 String _codeText = '';
  • 2、TextField处理,例如
child: TextField(
     controller: _controller,
     onChanged: (value) {
      if (_controller.value.composing == TextRange.empty  || _controller.value.composing == null) { 
           if ('$_codeText$_codeText' == value) {
             ///这里是自动填充时第二次调用onChanged方法的判断,此处value是重复验证码
             return;
           }else{
              ///这里就是正常输入时调用onChanged方法的判断
           }
         }else{
       ///这里是自动填充时第一次调用onChanged方法的判断,此处value是正确的验证码
               _codeText = value;
        }
     },
)

这里是自己琢磨的一个解决方案,如有更好方案欢迎留言讨论。
emmmmmmm...不要说设定最大位数,说不定哪天后台验证码位数变化怎么办,总不能因为这个发个版.....

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容