Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何将TextEditingController转换为颤振中的字符串?_Firebase_Flutter_Dart_Google Cloud Firestore_Textformfield - Fatal编程技术网

Firebase 如何将TextEditingController转换为颤振中的字符串?

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

我正在从Firestore检索一些数据,如下所示:

 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”。