firebase - 为什么初始值不更新和显示?

标签 firebase flutter dart google-cloud-firestore

我已经从RegisteredPatient小部件返回了患者的IC编号,但是初始值不会更新和显示。我已经尝试打印患者IC的值,但是我不明白为什么初始值不更新。我什至尝试了setstate。

TextFormField(
  initialValue: ic,
  validator: (val) => val.isEmpty ? 'Enter patient IC' : null,
  decoration: textInputDecoration.copyWith(
    hintText: 'Patient IC e.g. 960XXXXXXXXX'
  ),
  onChanged: (val) {
    setState(() => ic = val);
  },
  onTap: () async {
    ic = await Navigator.push(
      context, 
      MaterialPageRoute(builder: (context) => RegisteredPatient())
    );
  },
),

最佳答案

如果我正确理解了您的问题,那么您希望从RegisteredPatient路由返回时更新文本字段的值。为此,您应该执行以下操作:
声明

TextEditingController _textEditingController =  TextEditingController();

您的TextFormField上的
onTap: () async {
  Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => RegisteredPatient())
  ).then((newIcValue){
    setState(() {
      _textEditingController.text = newIcValue;
    });
  });
},

关于firebase - 为什么初始值不更新和显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59929329/

相关文章:

flutter - 如何将Future <List <Object >>转换为List <Object>?

firebase - 使用 Firebase OpenID Connect 提供程序作为 Azure Function App 身份提供程序

android - Firebase 未将 Facebook 用户保存在 Auth 列表中

android - 如何在 Gitlab CI for android 中管理签名 keystore

flutter :没有名称为 'overflow' 的命名参数,溢出:Overflow.visible,

list - 如何从 Dart 列表中删除相似的元素?

ios - tableview 图片的 Firebase 存储 url

具有嵌套 Observable/FirebaseObjectObservable 的 Angular2 ngFor 在更新时闪烁一些数据

flutter - 如何访问和更改列表中特定小部件的属性值

dart - 抽屉导航栏下的空白