当我按聊天标签时。在检索数据之前,它将显示错误几秒钟。
getter'documents'被调用为null。
收件人:空
尝试致电:文档
Widget chatRoomsList() {
return StreamBuilder(
stream: chatRooms,
builder: (context, snapshot) {
print(snapshot.data.documents.length);
return snapshot.hasData ? ListView.builder(
itemCount: snapshot.data.documents.length,
shrinkWrap: true,
itemBuilder: (context, index) {
return ChatRoomsTile(
userName:snapshot.data.documents[index].data['chatRoomId'].toString().replaceAll("_", "").replaceAll(Constants.myName, ""),
chatRoomId: snapshot.data.documents[index].data["chatRoomId"].toString(),
);
})
: Container();
},
);
}
我尝试了这个。还是一样的错误。
Widget chatRoomsList() {
return StreamBuilder(
stream: chatRooms,
builder: (context, snapshot) {
print(snapshot.data.documents.length);
if(snapshot.hasData){
return ListView.builder(
itemCount: snapshot.data.documents.length,
shrinkWrap: true,
itemBuilder: (context, index) {
return ChatRoomsTile(
userName:snapshot.data.documents[index].data['chatRoomId'].toString().replaceAll("_", "").replaceAll(Constants.myName, ""),
chatRoomId: snapshot.data.documents[index].data["chatRoomId"].toString(),
);
});
}
else
{
return Container();
}
},
答案 0 :(得分:1)
您试图在快照为null的情况下打印其文档。如果快照中有数据,则可以打印。像这样更改代码:
if(snapshot.hasData){
print(snapshot.data.documents.length);