Phi*_*aro 2 textfield dart firebase flutter
我有点新,Flutter所以我不知道这是否是更新从服务器收集的数据的“正确”方式。就我而言,我正在做的是(我的应用程序代码很长,我认为下面的描述就足够了):
Firebase)。Firebase。
TextFormField小部件(它们保存在Map我用 重置的 中widgetsMap = {},这也是我对表单数据本身所做的)并使用从Firebase.TextFormField应基于什么从检索有一个初始值Firebase。为了实现这一点,我尝试使用 acontroller和 an initialValue,但都没有奏效。
date 1有一个初始值Hello并且date 2有一个初始值World; 当我点击date 2来自 from 时date 1,虽然TextFormField小部件(它们的数量甚至可能不同)将正确构建,但显示的初始值仍将是Hello。那么发生了什么?如果不是initialValue的小窗口被消灭,一旦小部件和数据已被重置?即使在我重置它们之后,这些对象是否仍然存在于背景中= {}(我认为,由于dart是一种垃圾收集语言,一旦对它们的引用消失,这些对象将被删除......)?
添加Key到TextFormField. 您可以使用Key(initialValue). 例如:
TextFormField(
key: Key(widget.initialValue),
initialValue: widget.initialValue),
...
)
Run Code Online (Sandbox Code Playgroud)
尽管您重置了自己的TextFormFields映射,但如果您将 new TextFormFields 放在小部件树中的相同位置,Flutter框架将重用之前的状态。设置Key将告诉Flutter这是一个不同的小部件。
| 归档时间: |
|
| 查看次数: |
1661 次 |
| 最近记录: |