Flutter 当'实例时,如何访问FutureBuilder QuerySnapshot的数据;QuerySnapshot';

Flutter 当'实例时,如何访问FutureBuilder QuerySnapshot的数据;QuerySnapshot';,flutter,google-cloud-firestore,flutter-layout,Flutter,Google Cloud Firestore,Flutter Layout,因此,我试图从我的FutureBuilder->QuerySnapshot中查询我的数据,以便在我的应用程序中使用每个文档中的内容,我试图通过以下方式访问数据: snapshotsub.data[] 但它似乎不起作用。我得到了一个QuerySnapshot的实例。这是我的FutureBuilder: FutureBuilder<QuerySnapshot>( future: Firestore.instance.collection('dadosusuari

因此,我试图从我的FutureBuilder->QuerySnapshot中查询我的数据,以便在我的应用程序中使用每个文档中的内容,我试图通过以下方式访问数据:

snapshotsub.data[]
但它似乎不起作用。我得到了一个QuerySnapshot的实例。
这是我的FutureBuilder:

FutureBuilder<QuerySnapshot>(
            future: Firestore.instance.collection('dadosusuarios').document(user.uid).collection('buttons').getDocuments(),
            builder: (context, snapshotsub) {
              if (!snapshot.hasData) {
                return  Loading();
              }

             //int test = snapshotsub.data

              return Scaffold(
FutureBuilder(
future:Firestore.instance.collection('DadoSuarios').document(user.uid).collection('buttons').getDocuments(),
生成器:(上下文,快照子对象){
如果(!snapshot.hasData){
返回加载();
}
//int test=snapshotsub.data
返回脚手架(
以下是我的代码的完整部分的外观:

return  StreamBuilder<DocumentSnapshot>(
        stream: DatabaseService(uid: user.uid).userData,
        builder : ((context, snapshot){
          if (!snapshot.hasData) {
           return  Loading();
          }

          int cardamount = snapshot.data['btncount'];

          List<bool> cardsValue = [snapshot.data['device1'], snapshot.data['device2'], snapshot.data['device3']];

          return FutureBuilder<QuerySnapshot>(
            future: Firestore.instance.collection('dadosusuarios').document(user.uid).collection('buttons').getDocuments(),
            builder: (context, snapshotsub) {
              if (!snapshot.hasData) {
                return  Loading();
              }



              return Scaffold(
返回StreamBuilder(
流:DatabaseService(uid:user.uid).userData,
生成器:((上下文、快照){
如果(!snapshot.hasData){
返回加载();
}
int cardamount=snapshot.data['btncount'];
列表卡片值=[snapshot.data['device1'],snapshot.data['device2'],snapshot.data['device3'];
回归未来建设者(
future:Firestore.instance.collection('DadoSuarios').document(user.uid).collection('buttons').getDocuments(),
生成器:(上下文,快照子对象){
如果(!snapshot.hasData){
返回加载();
}
返回脚手架(
我正在使用StreamBuilder中的Future Builder来获取我的子集合信息。 以下是我的子集合数据库的外观:

未来的构建者应该如下所示:

FutureBuilder<QuerySnapshot>(
 future:Firestore.instance.collection('dadosusuarios').document(user.uid).collection('buttons').getDocuments(),
builder: (context, snapshotsub) {
if (!snapshot.hasData) {
    return  Loading();
}


// gets the list of documents form data
final documents = snapshotsub.data.documents;

for (var message in documents) {
    final btn1 = message.data['button1'];
    // more data filteration...
}
FutureBuilder(
future:Firestore.instance.collection('DadoSuarios').document(user.uid).collection('buttons').getDocuments(),
生成器:(上下文,快照子对象){
如果(!snapshot.hasData){
返回加载();
}
//获取文档表单数据的列表
最终文件=snapshotsub.data.documents;
for(文档中的var消息){
最终btn1=消息.数据['button1'];
//更多数据过滤。。。
}

希望这对您有所帮助。愉快的编码:)

我想它不起作用,我得到了
I/flatter(2701):null I/chatty(2701):uid=10070(npstech.com.homeautomation)Thread-2相同的1行I/flatter(2701):null
这是一个回应,我不能使用我的代码中关于您的问题的变量。您可以请求支持,他们会很乐意为您提供帮助。此外,您还可以将您的问题发布在上,以获得社区成员的支持和建议。希望这将引导您走向正确的方向并解决问题。