我无法让Supabase查询与flutter一起工作。下面是代码的一个示例:
child: FutureBuilder<PostgrestResponse<dynamic>>(
future: supabase.from('products').select().execute(),
builder: (context, snapshot) {
if (snapshot.connectionState != ConnectionState.active) {
return const Center(
child: SizedBox(
child: CircularProgressIndicator(),
width: 60,
height: 60,
),
);
} else {
return GridView.builder(
gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: gridColumns,
crossAxisSpacing: 10,
mainAxisSpacing: 10,
),
itemCount: snapshot.data!.length, // this line is causing an error
...我不知道如何转换快照的长度。它本来是要把这个变成流线型的--它会工作的。所以,我想要的是一个基本的例子,用supabase来使用一个未来构建器。
发布于 2022-01-07 05:45:54
您可以使用if (snapshot.hasData)代替检查快照连接状态。因为它将不包括任何数据,并且连接状态没有活动。
这样您就可以将代码更改为;
child: FutureBuilder<PostgrestResponse<dynamic>>(
future: supabase.from('products').select().execute(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const Center(
child: SizedBox(
child: CircularProgressIndicator(),
width: 60,
height: 60,
),
);
} else {
return GridView.builder(
gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: gridColumns,
crossAxisSpacing: 10,
mainAxisSpacing: 10,
),
itemCount: snapshot.data!.length, // this line is causing an error
...发布于 2022-08-14 06:34:32
在调试代码时,响应将以snapshot.data.data的形式出现

因此,计数值可以由
itemCount: snapshot.data.data?.length,https://stackoverflow.com/questions/70616858
复制相似问题