首页 > 解决方案 > 使用 TextEditingController 和 StreamBuilder 时文本被清除

问题描述

我在使用TextEditingControllerFocusNode结合时观察到一些奇怪的行为StreamBuilder,即:

当满足以下所有条件时,就会发生这种情况:

注意:如果无状态小部件未呈现,而是在应用启动时直接呈现,则不会出现问题。

标签: flutter

解决方案


问题出在我头上。问题是我在StatelessWidget.

你不应该。

打开键盘往往会重建整个屏幕(这很好)。但在我的情况下,重建会导致您TextEditingController被 GCed,因为您将它们存储在StatelessWidget

所以这个工作的原因StatefulWidget是即使在重建过程中也会保留状态,所以我可以用它来保存我的TextEditingControllers.


推荐阅读