我使用的流在streamBuilder中返回groupmodel类型,但我无法访问构建器中的数据。
StreamBuilder<GroupModel>(
stream: groups
.where('users', arrayContains: firebaseAuth.currentUser?.uid)
.snapshots()
.map((QuerySnapshot<Object> res) =>
GroupModel.fromJson(res as Map<String, dynamic>)),
builder: (BuildContext context, AsyncSnapshot<GroupModel> snapshot) {
log(snapshot.data.toString());
if (snapshot.hasData) {
return Text(snapshot.data.toString());
} else {
return const Text('No data');
}
},
));
如果我修改firebase中的值,我可以看到一个空输出
log(snapshot.data.toString());
1条答案
按热度按时间xzv2uavs1#
在从firestore获取数据之前,你试图通过一个
Stream
调用一个map()
列表,首先是null
,直接在StreamBuilder
中使用那个Stream
,你需要等待QuerySnapshot
到达,然后根据它在StreamBuilder
上的值采取行动: