Dart 使用哪些小部件来显示从firestore到文本编辑的实时数据,并更新任何更改
我有一个膳食集合,我想从firestore中提取膳食并显示在textformfield中,并使其可编辑,然后更新将应用于firestore 每当我将字符串与textedit控制器一起提供给初始值时,我得到的结果要么是静态的,要么是这个错误 断言失败:第72行第15位:“initialValue” I/flatter(23302):==null | | controller==null”:不正确。 发行日期:Dart 使用哪些小部件来显示从firestore到文本编辑的实时数据,并更新任何更改,dart,flutter,google-cloud-firestore,Dart,Flutter,Google Cloud Firestore,我有一个膳食集合,我想从firestore中提取膳食并显示在textformfield中,并使其可编辑,然后更新将应用于firestore 每当我将字符串与textedit控制器一起提供给初始值时,我得到的结果要么是静态的,要么是这个错误 断言失败:第72行第15位:“initialValue” I/flatter(23302):==null | | controller==null”:不正确。 发行日期: 我应该使用什么来实时提取一些数据并将其显示为可编辑的任何输入。您不能同时提供TextE
我应该使用什么来实时提取一些数据并将其显示为可编辑的任何输入。您不能同时提供
TextEditingController
和初始值
听起来您想利用textEditingController从输入中提取数据(在某种提交事件上)。这是合理的,但我还要注意TextField小部件上提供的onSubmitted
和onChanged
回调-但是您肯定可以通过TextFormField实现您的目标
为此,您需要通过its(可能在initState()
中)用初始值初始化TextEditingController
这就成功了,为什么我们需要调用super.init?@Tegster007,它包含的小部件扩展了StatefulWidget。StatefulWidget定义了我们用@override
覆盖的initState()方法。如果我们不调用super.initState
,就会影响stateflewidget的生命周期。您可能还会看到一条警告,因为它标有@mustCallSuper
TextEditingController _controller;
@override
initState() {
super.initState();
_controller = TextEditingController(text: "Some String");
}