我正在构建一个简单的应用,该应用可打印当前TextFormField
的结果。例如,当文本更改时,它将打印新值。
我发现您可以使用TextEditingController.addListener
来实现此目的,该监听可以监听更改并执行功能。
所以我将其全部包裹在initState中,如下所示
@override
void initState() {
addressController.addListener(() {
print(addressController.text);
});
我的问题是有时即使没有任何记录,它也会记录更改:
这就是写一个单词然后将其删除的过程。
答案 0 :(得分:1)
如果添加侦听器,则应将其删除,否则TextEditingController可能会有2个或更多侦听器:
@override
void initState() {
addressController.addListener(_addressControllerListener);
super.initState()
}
void _addressControllerListener() {
print(addressController.text);
}
@override
void dispose() {
addressController.removeListener(_addressControllerListener);
super.dispose()
}