在阅读Flutter文档时,我遇到了显示how to handle changes to a text field的文章。我发现有趣的是,在本文档以及所有其他与TextEditingController
有关的文章中,无论TextEditingController
是否需要是有状态的,始终在Stateful widget中使用TextEditingController
。
TextEditingController
始终与有状态小部件一起使用的原因是什么?
State.dispose
中State.dispose
:TextEditingController textEditingController;
@override
void dispose() {
textEditingController.dispose(); // You need to do this.
super.dispose();
}
说明[A
TextEditingController
是TextEditingController
,因为ChangeNotifier
继承自ChangeNotifier
,TextEditingController
扩展了ValueNotifier
。
ValueNotifier
s dispose。每当您要
dispose某些内容时,您都想使用ChangeNotifier
。这是通过TextEditingController
和StatefulElement.unmount
公开的。有关如何实现的信息,请参见上文。
StatefulElement.unmount
中设置控制器:State