FutureBuilder无法在Firestore中正常使用

时间:2020-04-06 12:33:34

标签: flutter dart google-cloud-firestore

无法使用FutureBuilder创建查询。 Firestore是最新版本。 Android和iOS设备都是这种情况,有什么想法吗?

 return FutureBuilder<QuerySnapshot>(
                future: Firestore.instance
                    .collection('productlist')
                    .where('productid', isEqualTo: pid)
                    .limit(
                        1), // a previously-obtained Future<String> or null
                builder: (BuildContext context,
                    AsyncSnapshot<QuerySnapshot> snapshot) {
                  if (snapshot.hasData) {
                    productname = snapshot.data.documents[0]['productname'];

                    print("productname:" + productname);
                  }
                  else{
                    productname = "0";
                  }
                  },
                  );

2 个答案:

答案 0 :(得分:0)

我认为这里的问题是您没有返回小部件。

尝试下面的代码

FutureBuilder(
        future: Firestore.instance
                .collection('productlist')
                .where('productid', isEqualTo: pid)
                .limit(1),
        builder: (ctx, snapshot) {
          if (snapshot.connectionState == ConnectionState.done && snapshot.hasData) {
                return Text(snapshot.data.documents[0]['productname']);
          } else {
            return Text("0");
          }
        },
      ),

答案 1 :(得分:0)

u可以使用流生成器来代替它,效果很好:

adb shell -n ls