【问题标题】:how to retrieve current user fields from firebase flutter如何从firebase颤振中检索当前用户字段
【发布时间】:2021-01-12 15:54:52
【问题描述】:

我正在尝试使用 FutureBuilder 从 firebase 获取当前用户的一些信息。但它告诉我错误说

 return new Scaffold(
      body: FutureBuilder(
        future: FirebaseFirestore.instance
            .collection('Users').where('email', isEqualTo: FirebaseAuth.instance.currentUser.email).get(),
        builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
          if (snapshot.data == null) {
            return Container(
              child: Center(
                child: CircularProgressIndicator(),
              ),
            );
          } else if (snapshot.connectionState == ConnectionState.done) {

            print(snapshot.data.docs.length);

            return Container(
              child: ListView(children: <Widget>[
                ListTile(
                  leading: Icon(Icons.person),
                  title: Text("Name: " +
                      snapshot.data.docs[0].get('Name') +
                      "\n" +
                      "Civil ID: " +
                      snapshot.data.docs[0].get('Civil ID')),
                  subtitle: Text(snapshot.data.docs[0].get('email')),
                ),

【问题讨论】:

    标签: flutter dart flutter-futurebuilder


    【解决方案1】:
    Try this
    
        FirebaseAuth auth = FirebaseAuth.instance;
    
     return new Scaffold(
          body: FutureBuilder(
            future: FirebaseFirestore.instance
                .collection('Users').where('email', isEqualTo: auth.currentUser.email).get(),
            builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
    
              if (snapshot.data == null) {
                return Container(
                  child: Center(
                    child: CircularProgressIndicator(),
                  ),
                );
              } else if (snapshot.connectionState == ConnectionState.done) {
    
                print(snapshot.data.docs.length);
    
                return Container(
                  child: ListView(children: <Widget>[
                    ListTile(
                      leading: Icon(Icons.person),
                      title: Text("Name: " +
                          snapshot.data.docs[0].get('Name') +
                          "\n" +
                          "Civil ID: " +
                          snapshot.data.docs[0].get('Civil ID')),
                      subtitle: Text(snapshot.data.docs[0].get('email')),
                    ),
    
    
    
    
    //If that don't work, you might have to upload a picture of how you structured your database
    

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 2019-06-11
      • 2020-10-20
      • 1970-01-01
      相关资源
      最近更新 更多