参数类型“Future<AggregateQuerySnapshot>”不能分配给参数类型“String”

问题描述 投票:0回答:1

这是我的询问

final db = FirebaseFirestore.instance;

final crabRef = db.collection('crab');

final scyllaSerrataQuery =
    crabRef.where('species', isEqualTo: 'Scylla Serrata');

final scyllaSerrataCount = scyllaSerrataQuery.count().get();

这是我的小部件,我将在其中放置 scyllaSerrataCount

InfoCard(
              title: "Scylla Serrata",
              value: scyllaSerrataCount,
              topColor: Colors.brown,
              isActive: activeTitle == "Scylla Serrata",
              onTap: () {
                setState(() {
                  activeTitle = "Scylla Serrata";
                });
              },
            ),

问题是我每次都会收到此错误,如何修复此错误?

flutter firebase dart google-cloud-firestore
1个回答
0
投票

加载计数是一个异步操作,因此您需要等待结果:

final scyllaSerrataCount = await scyllaSerrataQuery.count().get();

如果这是不可能的(您没有显示足够的代码上下文让我们知道),请使用

FutureBuilder
AggregateQuerySnapshot
Future
中解开。

© www.soinside.com 2019 - 2024. All rights reserved.