我在 SliverGrid 下面有以下内容,它是从 API 填充的。在进行 API 调用之前,我不知道项目的数量。当我滚动过去的项目时,下面的当前实现会呈现文本“No More”,因为我没有设置 childCount。有没有办法让我设置 childCount 。我想让它停止滚动和渲染任何东西。
我尝试创建一个变量来保存 childCount 变量并在 snapshot.hasData 块内重置它,但是新值似乎被忽略了。
return SliverGrid(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 4),
delegate: SliverChildBuilderDelegate(
(BuildContext context,int index)
{
return StreamBuilder(
stream: bloc.attributesStream ,
builder: (context, snapshot)
{
if(snapshot.hasData)
{
return HomeIconCell(snapshot.data[index]);
//want to set childCount to snapshot.data.length
}
return Text("No more");
},
);
},
childCount: gridChildCount
));
}