флаттер StaggeredGridView показывать плитки при условии - PullRequest
0 голосов
/ 13 февраля 2019

Я использую StaggeredGridView в одном из моих проектов Flutter.Я хотел не загружать несколько плиток в зависимости от доступности данных.

Например.Я показываю 5 плиток, из которых 3 зависят от данных, доступных из сети.Иногда это может занять от 10 до 15 секунд.Прямо сейчас, если я возвращаю Container () до тех пор, пока мои данные не загрузятся, тогда он также будет содержать все пространство в макете.

Я просто не хочу добавлять эту плитку в сетку, если данные недоступны или требуется много времени для загрузки.После загрузки он должен быть показан.

Заранее благодарен

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Когда вы создаете StaggeredGridView, установите свойство staggeredTiles и убедитесь, что вы вводите StaggeredTile.fit(1) для плиток, которые вы хотите скрыть.Таким образом, плитка будет оборачивать свой контент, поэтому если его нет, он будет скрыт.

0 голосов
/ 13 февраля 2019
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.
   }
  )
}

Пример кода

...