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)
尽管您重置了自己的TextFormField
s映射,但如果您将 new TextFormField
s 放在小部件树中的相同位置,Flutter
框架将重用之前的状态。设置Key
将告诉Flutter
这是一个不同的小部件。
归档时间: |
|
查看次数: |
1661 次 |
最近记录: |