Я, должно быть, неправильно понимаю метод hasData
для QuerySnaphot
. В моем StreamBuilder
я хочу вернуть widget
, информирующее пользователя, что в запросе collection
нет элементов. Я удалил коллекцию в Firestore, поэтому там точно нет данных. Но когда я запускаю следующий код:
StreamBuilder<QuerySnapshot>(
stream: Firestore.instance
.collection('Events')
.where("bandId", isEqualTo: identifier)
.snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) {
print('code here is being executed 1');// This gets executed
return Text('helllllp');
} else {
print('Code here is being executed2'); //And this gets executed
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return new Text('Loading...');
default:
return new ListView(
children:
snapshot.data.documents.map((DocumentSnapshot document) {
return CustomCard(
event: document['event'],
location: document['location'],
service: document['service'],
date: document['date'].toDate(),
);
}).toList(),
);
}
}
},
),
Все, что я хочу сделать, это вернуть виджет, информирующий пользователя, если снимок пуст. Например Text('You have no messages')