没有为“QuerySnapshot”类型定义 getter“documents”

Dan*_*MHM 3 dart flutter

尝试从 Firestore 实时数据库访问数据,但我一直收到此消息和其他几条消息。在这种情况下我该如何访问数据?先感谢您

class HomePage extends StatefulWidget {
      @override
      _HomePageState createState() => _HomePageState();
    }
    
    class _HomePageState extends State<HomePage> {
      FirestoreCrud firestoreCrudRef = new FirestoreCrud();
      Stream<QuerysnapShop> blogsSnapShot;
    
      @override
      void initState() {
        firestoreCrudRef.readData().then((result) {
          blogsSnapShot = result;
        });
        super.initState();
      }
    
      Widget blogList() {
        return Container(
          child: StreamBuilder<QuerysnapShop>(
              stream: blogsSnapShot,
              builder: (context, snapshot) {
                return ListView.builder(
                  scrollDirection: Axis.vertical,
                  physics: ScrollPhysics(),
                  padding: EdgeInsets.only(top: 24),
                  itemCount: snapshot.data.documents.length,
                  shrinkWrap: true,
                  itemBuilder: (context, index) {
                    return BlogTile(
                      author: snapshot.data.documents[index].data()['author'],
                      title: snapshot.data.documents[index].data()['tile'],
                      body: snapshot.data.documents[index].data()['body'],
                      imageUrl: snapshot.data.documents[index].data()['imageUrl'],
                    );
                  },
                );
              }),
        );
      }
Run Code Online (Sandbox Code Playgroud)

ped*_*ont 5

该类QuerySnapshot有一个docs属性,然后返回一个List<QueryDocumentSnapshot>. 然后,您可以从此列表中访问索引,该索引会为您提供一个QueryDocumentSnapshot,然后您可以访问其.data()方法来获得一个Map<String, dynamic>. 最后您可以从中访问任何字段。

尝试:

snapshot.data.docs[index].data()['imageUrl'],
Run Code Online (Sandbox Code Playgroud)