Флаттер StaggeredGridView показывать плитки при условии
Я использую StaggeredGridView в одном из моих проектов Flutter. Я хотел не загружать несколько плиток в зависимости от доступности данных.
Например. Я показываю 5 плиток, из которых 3 зависят от данных, доступных из сети. Иногда это может занять от 10 до 15 секунд. Прямо сейчас, если я возвращаю Container() до тех пор, пока мои данные не загрузятся, тогда он также будет содержать все пространство в макете.
Я просто не хочу добавлять эту плитку в сетку, если данные недоступны или долго загружаются. После загрузки это должно быть показано.
заранее спасибо
2 ответа
Когда вы создаете свой StaggeredGridView
, установить staggeredTiles
собственности и убедитесь, что вы передаете StaggeredTile.fit(1)
за плитки, которые вы хотите скрыть. Таким образом, плитка будет оборачивать содержимое, поэтому если его нет, оно будет скрыто.
Widget build(BuildContext context) {
return StreamBuilder<GridData>(
stream: [Stream end point] // your stream url,
builder: (context, snapshot) {
if (!snapshot.hasData) return LoadingSpinner();
return [View that you want to return]; // Your grid code.
}
)
}
Образец кода