【问题标题】:Flutter : How to show List of user based in filds?Flutter:如何显示基于字段的用户列表?
【发布时间】:2020-02-23 01:49:21
【问题描述】:

如何在 FireStore(Firebase 数据库)中显示用户列表,仅基于经过验证的字段! 因此,如果有未验证的,则不会在 streambuilder 中列出它们,这是我的示例,但出现错误!

Widget verified (){
    return FutureBuilder(
      future: Firestore.instance.collection('users').where('verified ',isEqualTo: 'true').getDocuments(),
      builder: (context, data){
       return ListView(
         children: <Widget>[
       Text('${data.data['verified '].toString()}'),
         ],
       );

      },
    );
  }

错误是:

Class 'QuerySnapshot' has no instance method '[]'.
Receiver: Instance of 'QuerySnapshot'
Tried calling: []("verified ")

【问题讨论】:

    标签: firebase flutter dart google-cloud-firestore


    【解决方案1】:

    我通常将流生成器用于 Firestore,你可以这样使用:

    return StreamBuilder(
      stream: Firestore.instance
      .collection('users')
      .where('verified ', isEqualTo: 'true')
      .snapshots(),
      builder: (context, data) {
        if (data.hasData) {
          return ListView(
         children: <Widget>[
            Text('${data.data['verified '].toString()}'),
         ],
       );
      }
      return Center(
        child: CircularProgressIndicator(),
     );
      },
    );
    

    如果你想使用未来的构建器,那么你必须检查我们是否得到了数据

    return FutureBuilder(
    future: Firestore.instance
        .collection('users')
        .where('verified ', isEqualTo: 'true')
        .getDocuments(),
    builder: (context, data) {
      if (data.data != null) { //data.connectionState == ConnectionState.done
        return ListView(
          children: <Widget>[
            Text('${data.data['verified '].toString()}'),
          ],
        );
      }
      return CircularProgressIndicator();
    },
    );
    

    【讨论】:

    • [] 的代码 cus 出错,错误是类 'QuerySnapshot' 没有实例方法 '[]'。接收方:“QuerySnapshot”实例尝试调用:[]("verified")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    相关资源
    最近更新 更多