flutter - Flutter TextField controller.clear() 将多次调用 onChanged
问题描述
这是代码:
class MyApp extends StatelessWidget {
TextEditingController _controller = TextEditingController();
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'test',
home: Scaffold(
appBar: AppBar(
title: Text('test'),
),
body: Center(
child: TextField(
controller: _controller,
onChanged: (text){
print('>>>>>>>>>>flutter onChanged text=${text} _controller.text=${_controller.text}');
if(text.length==4){
_controller.clear();
}
},
),
),
),
);
}
}
在调用 controler.clear() 之后,调用了 onChange()。而且价值没有改变
解决方案
尝试使用
_controller.text = "";
代替_controller.clear();
推荐阅读
- android - 更改列表项布局时 RecyclerView 滚动到顶部
- mysql - SQL合并两个表-每个键值只获取一行
- javascript - react__WEBPACK_IMPORTED_MODULE_0___default.a.useContext 不是函数——在 Material UI 中使用自动完成时
- go - 如何将公共 RSA 密钥转换为 JSON Web 密钥
- machine-learning - 用于翻译同形异义词的 Fasttext 对齐词向量
- react-native - React Native 动画只有在使用 useEffect 的 state 为真时才有效
- database - 有没有办法检查不同“列”中的两个值是否相等?
- git - 在同一存储库上工作的不同计算机之间共享 git 配置文件
- android - 如何获取本机模块返回值?
- bazel - 如何将特定的宏传递给 bazel 中的每个编译?