firebase - 来自 Future (Firebase) 的 TextFormField (Flutter) 中的初始值
问题描述
伙计们。
我正在尝试TextFormField
从来自 Firebase Firestore 的字符串中设置 a 的初始值,因此它是一个未来。但我就是不能让它工作!
我已经为我的问题编写了一个简化的代码,可以在 dartPad 上找到:
https://dartpad.dartlang.org/0649b56c10041ca7e6ab4440e7564dea
我应该如何正确地做到这一点?我应该使用 aFuture.then()
而不是FutureBuilder
?我应该使用控制器而不是设置初始值吗?我尝试的任何形式,它最终都不起作用......
解决方案
在任务完成之前,文本字段将为空,但这可以正常工作:
final _textEditingController = TextEditingController();
@override
void initState() {
super.initState();
asyncTask()
}
void asyncTask() async{
//do work
setState(() {
_textEditingController.text = workResult;
});
}
//in build method
TextFormField(
controller: _emailtextEditingController,
.
.
.
),
推荐阅读
- sql - SQLite:如何查看不是我朋友但与我朋友成为朋友的人
- sql - 错误(14,5):PL/SQL:ORA-00933:创建存储过程时 SQL 命令未正确结束
- javascript - 我应该将 fetch() 与 .then 或 async/await 一起使用
- javascript - 元素加载上的 jQuery 触发器不起作用
- javascript - 有人可以解释这种奇怪的行为(nodejs + mongoose)吗?
- function - 是否可以在 TCL 程序中按名称传递参数?
- javascript - [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性 'correct_answer'”
- python - 我尝试在 driver.find_elements_by_css_selector 中加载新值,不要用新值更新
- javascript - 在 JavaScript 中计算画布数组中位数的有效方法
- node.js - 使用 node.js 将图像上传到 s3