flutter StaggeredGridView 按条件显示图块
flutter StaggeredGridView show tiles on condition
我在我的一个 Flutter 项目中使用 StaggeredGridView。根据数据可用性,我不想加载几个 tiles。
例如。我展示了 5 个图块,其中 3 个依赖于网络上可用的数据。有时可能需要 10 到 15 秒。现在,如果我 return 一个 Container() 直到我的数据被加载,那么它也会在布局中包含整个 space。
我只是不想在数据不可用或加载时间过长时将该图块添加到网格中。加载后应该会显示。
提前致谢
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.
}
)
}
示例代码
创建 StaggeredGridView
时,设置 staggeredTiles
属性 并确保为要隐藏的图块传入 StaggeredTile.fit(1)
。这样磁贴将包裹其内容,因此如果没有内容,它将被隐藏。
我在我的一个 Flutter 项目中使用 StaggeredGridView。根据数据可用性,我不想加载几个 tiles。
例如。我展示了 5 个图块,其中 3 个依赖于网络上可用的数据。有时可能需要 10 到 15 秒。现在,如果我 return 一个 Container() 直到我的数据被加载,那么它也会在布局中包含整个 space。
我只是不想在数据不可用或加载时间过长时将该图块添加到网格中。加载后应该会显示。
提前致谢
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.
}
)
}
示例代码
创建 StaggeredGridView
时,设置 staggeredTiles
属性 并确保为要隐藏的图块传入 StaggeredTile.fit(1)
。这样磁贴将包裹其内容,因此如果没有内容,它将被隐藏。