Flutter 为什么TextEditingController总是在有状态的小部件中使用?

Flutter 为什么TextEditingController总是在有状态的小部件中使用?,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,在阅读颤振文档时,我偶然发现了这篇文章。我发现有趣的是,在这篇和所有其他关于TextEditingController的文章中,TextEditingController总是在有状态小部件中使用,无论该小部件是否需要有状态 TextEditingController总是与有状态小部件一起使用的原因是什么?长答案短 您需要在以下位置处置文本编辑控制器: TextEditingController TextEditingController; @凌驾 无效处置(){ textEditingContr

在阅读颤振文档时,我偶然发现了这篇文章。我发现有趣的是,在这篇和所有其他关于
TextEditingController
的文章中,
TextEditingController
总是在有状态小部件中使用,无论该小部件是否需要有状态

TextEditingController
总是与有状态小部件一起使用的原因是什么?

长答案短 您需要在以下位置处置
文本编辑控制器

TextEditingController TextEditingController;
@凌驾
无效处置(){
textEditingController.dispose();//您需要执行此操作。
super.dispose();
}
解释 A是as
TextEditingController
继承自
ValueNotifier
ValueNotifier
扩展
ChangeNotifier

话虽如此,
TextEditingController
s需要处理,以避免泄漏任何资源。
无论何时,只要您想处置某件东西,您都会想利用。这是通过和那暴露的。有关如何实现这一点,请参见上文


理想情况下,您将在
initState
中设置控制器:

@覆盖
void initState(){
super.initState();
textEditingController=。。;
}