Firebase 如何将TextEditingController转换为颤振中的字符串?
我正在从Firestore检索一些数据,如下所示:Firebase 如何将TextEditingController转换为颤振中的字符串?,firebase,flutter,dart,google-cloud-firestore,textformfield,Firebase,Flutter,Dart,Google Cloud Firestore,Textformfield,我正在从Firestore检索一些数据,如下所示: String _fName; Future<dynamic>_retrieveData() async{ var firebaseUser = await FirebaseAuth.instance.currentUser(); await Firestore.instance.collection("tryingdata").document(firebaseUser.uid).snap
String _fName;
Future<dynamic>_retrieveData() async{
var firebaseUser = await FirebaseAuth.instance.currentUser();
await Firestore.instance.collection("tryingdata").document(firebaseUser.uid).snapshots().listen((DocumentSnapshot doc) async{
Map<String, dynamic> document = doc.data;
setState((){
_fName = document['firstName'];
});
print(_fName);
});
}
@override
void initState() {
// TODO: implement initState
super.initState();
_retrieveData();
}
controller.text = "my initial value";
谢谢你的帮助 创建您的控制器:
var controller = TextEditingController();
一旦你得到了线,就去做
setState(() => controller.text = _fName);
您可以在创建TextEditingController的对象后使用如下文本设置器对其进行修改:
String _fName;
Future<dynamic>_retrieveData() async{
var firebaseUser = await FirebaseAuth.instance.currentUser();
await Firestore.instance.collection("tryingdata").document(firebaseUser.uid).snapshots().listen((DocumentSnapshot doc) async{
Map<String, dynamic> document = doc.data;
setState((){
_fName = document['firstName'];
});
print(_fName);
});
}
@override
void initState() {
// TODO: implement initState
super.initState();
_retrieveData();
}
controller.text = "my initial value";
您必须使用set state tho来查看更改my StringValue是从数据库检索的_fName,但我不能执行var controller=TextEditingController(text:_fName);它告诉我无法在初始值设定项中访问实例成员“\u fName”。我可以分配“some string”,它工作正常,但我想分配从数据库中检索为string的_fName。当我执行var controller=TextEditingController(text:_fName)时;它告诉我无法在初始值设定项中访问实例成员“\u fName”。