解决flutter iOS验证码自动填充时被复制两遍的问题
2020-10-15 本文已影响0人
Shineyok
- 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...不要说设定最大位数,说不定哪天后台验证码位数变化怎么办,总不能因为这个发个版.....