Флаттер: Как показать список пользователей, основанный на полях? - PullRequest
0 голосов
/ 23 февраля 2020

Как показать список пользователей в FireStore (База данных Firebase) На основании только в проверенном Fild! Так что если есть неподтвержденные, поэтому не буду перечислять их в 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 ")

1 Ответ

1 голос
/ 23 февраля 2020

Я обычно использую Stream Builder для 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(),
 );
  },
);

Если вы хотите использовать будущее Builder, то вам нужно проверить, получили ли мы данные или нет

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();
},
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...