У меня есть простая проблема с флаттером, но я не могу понять, как ее решить. Так и здесь. Я пытаюсь показать сообщение в моем приложении, если в моментальном снимке, который я вызываю, нет данных в базе данных Firebase.
У меня есть этот код:
return Scaffold(
body: Container (
child: new LayoutBuilder(
builder: (BuildContext context, BoxConstraints viewportConstraints) {
return Column(
children: <Widget>[
SizedBox(
height: MediaQuery.of(context).size.height * 0.020,
),
SingleChildScrollView(
scrollDirection: Axis.vertical,
child: Container(
child: Column(
children: <Widget>[
StreamBuilder<QuerySnapshot>(
stream: db.collection('CONFIRMED HELP BENEFICIARY').where('Respondents_ID', isEqualTo: '${widget.UidUser}').snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Column(
children: snapshot.data.documents
.map((doc) => buildItem(doc))
.toList());
}
else {
return Container(
color: Colors.red,
height: 200,
width: 200,
child: Text("No Data"));
)
],
);
},
),
),
);
Внутри моего singlescrollview У меня есть потоковый строитель в нем. Также если еще. Так что, если «snapshot.hasdata» я показываю список данных, и он успешно показывает это. Но проблема в «другом». Я пытался показать контейнер, который имеет цвет: красный и текст, который содержит «Нет данных», но я совершенно не могу понять, как @@ Он показывает контейнер за миллисекунды, а затем исчезает @@. Пожалуйста помоги.