如何获取 Firebase 快照长度?
Posted
技术标签:
【中文标题】如何获取 Firebase 快照长度?【英文标题】:How to get Firebase snapshots length? 【发布时间】:2020-03-05 15:41:30 【问题描述】:我已经用 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'],
);
,
);
,
),
当我运行它时,它给了我一个错误,它实际上没有一个称为长度的 getter。
【问题讨论】:
【参考方案1】:尝试在 StreamBuilder
中显式声明类型
StreamBuilder<QuerySnapshot>(
stream: _firestore.collection('...').snapshots(),
https://dart.dev/guides/language/sound-problems#runtime-errors
【讨论】:
一切都很好,除了我上面提到的显示它 您能否确认您尝试了答案但没有帮助? 我没有注意到您声明的数据类型并且它有效,谢谢【参考方案2】:你可以试试这个:
Firestore.instance.collection('/posts/$widget.uid/comments').snapshots().length.toString();
【讨论】:
以上是关于如何获取 Firebase 快照长度?的主要内容,如果未能解决你的问题,请参考以下文章
Swift iOS Firebase - 如何结合 queryOrdered(byChild) 和 GeoFire observe(.keyEntered) 来同时获取快照和位置结果?
如何将firebase快照值从一个函数提取到另一个函数变量?