尝试获取我的流快照长度,但由于某些原因,.docs不起作用。它说不能在对象上调用docs,但我不明白为什么它将我的streamSnapshot读取为对象,而它应该是一个流。
return Scaffold(
body: StreamBuilder(
stream: FirebaseFirestore.instance
.collection('chats/khgvkhvfkftkh/messages')
.snapshots(),
builder: (ctx, streamSnapshot) {
if (streamSnapshot.connectionState == ConnectionState.waiting) {
return Center(
child: CircularProgressIndicator(),
);
}
final documents =
streamSnapshot.data.docs.length;
return ListView.builder(
itemCount: documents.length, //does not work due to error in declaration of documents
itemBuilder: (ctx, index) => Container(
3条答案
按热度按时间jecbmhm31#
您要将
documents
设置为docs
属性的**长度所以当你以后做
documents.length
的时候,那是streamSnapshot.data.docs.length.length
,它实际上并不存在。给定变量名,我希望将
documents
设置为:5lhxktic2#
hof1towb3#
如果您是第一次遇到这个挑战,解决方案是定义StreamBuilder构建器属性,如下所示