Мне нужна функция поиска на странице A. После нажатия значка поиска он будет извлекать элементы с сервера и сохранять их в sink
, а затем использовать stream
для заполнения в listView.
Но теперь он застревает на ConnectionState.waiting
, когда я не нажимаю значок поиска. Как сделать так, чтобы изначально отображалось Нет элемента ? При щелчке по значку поиска отображается только результат?
Container(
child: StreamBuilder<List<ABC>>(
initialData: null,
stream: _bloc.displayStream,
builder: (context, snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.active:
if (snapshot.data.isEmpty) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(
Icons.format_list_bulleted,
size: 80,
color: Colors.orange,
),
SizedBox(
height: 20,
),
Text(
'No item',
style: TextStyle(fontSize: 18),
)
]));
} else {
return Stack(
children: <Widget>[
_showListView(snapshot),
],
);
}
break;
case ConnectionState.waiting:
return Center(
child: Image.asset(
'assets/loading.gif',
width: 200.0,
height: 200.0,
),
);
break;
default:
return Text("Error");
}
},
))