我正在尝试计算未读邮件的数量。在第一个streambuilder中,我需要获取与第一个查询匹配的所有文档ID。
然后在该文档ID中,我可以访问该文档中的子集合并执行另一个查询。然后,我需要访问该查询的结果。
但是,在控制台下面的尝试中,输出“过去的第一流”,但不输入第二个streambuilder。
return StreamBuilder(
stream: Firestore.instance
.collection('conversations')
.where('user_id', isEqualTo: Provider.of<User>(context).id)
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData)
return Center(child: CircularProgressIndicator());
else {
print('past first stream');
StreamBuilder(
stream: Firestore.instance
.collection('conversations')
.document('#32#0#')
.collection('messages')
.where('customer_message_read', isEqualTo: false)
.snapshots(),
builder: (context, snapshot) {
print('im through second stream');
if (!snapshot.hasData)
return Center(child: CircularProgressIndicator());
print('nope');
QuerySnapshot querySnap = snapshot.data;
print(querySnap.documents.length);
return Center(child: CircularProgressIndicator());
},
);
return Scaffold(
backgroundColor: Colors.black,
body: _children[_selectedPage],
bottomNavigationBar: _bottomNavigationBar(context),
resizeToAvoidBottomPadding: true,
);
}
},
);
答案 0 :(得分:1)
您已经创建了第二个StreamBuilder
,但没有返回