Как получить длину снимков с базы? - PullRequest
1 голос
/ 09 ноября 2019

Я создал приложение с firebase, но у меня проблема: я

не могу подсчитать длину снимка в listview.builder.

StreamBuilder(
        stream:
            _firestore.collection('/posts/${widget.uid}/comments').snapshots(),
        builder: (context, snapshot) {
          final data = snapshot.data.documents;

          if (!snapshot.hasData) {
            return SpinKitChasingDots(
              color: Colors.lightGreen,
            );
          }
          return ListView.builder(
            itemCount: snapshot.data.documents.length,//Here is the problem
            itemBuilder: (context, index) {
              return PostComment(
                commentText: data[index]['commentText'],
                userImage: data[index]['userImage'],
                userName: data[index]['userName'],
              );
            },
          );
        },
      ),

Когда я запускаю, он выдает ошибку, что на самом деле у него нет метода get с именем length.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2019

Вы можете попробовать это:

Firestore.instance.collection('/posts/${widget.uid}/comments').snapshots().length.toString();
0 голосов
/ 09 ноября 2019

Попробуйте явно объявить тип в вашем StreamBuilder

StreamBuilder<QuerySnapshot>(
        stream: _firestore.collection('...').snapshots(),

https://dart.dev/guides/language/sound-problems#runtime-errors

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...