如何从 firebase flutter 中的文档中检索列表?

how to retrieve a list from a document in firebase flutter?

我想检索文档中的列表并通过 listview.builder

显示它

Cart:[ 0 "default", 1 "bugatti chiron", 2 "examp" 3 "bugatti veron", 4 "examp", 5 "bugatti chiron 20" ]

so the above array is what i want to retrieve and show in a listview.

and the class below is how i tried to implement it but failed

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class cart extends StatefulWidget {
  @override
  _cartState createState() => _cartState();
}

class _cartState extends State<cart> {
  FirebaseAuth auth = FirebaseAuth.instance;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: StreamBuilder<QuerySnapshot>(
        stream: FirebaseFirestore.instance.collection('user').snapshots(),
        builder: (context, snapshot) {
          return Column(children: [
            snapshot.hasData
                ? Expanded(
                    child: ListView.builder(
                    itemBuilder: (BuildContext context, int index) {
                      return Column(children: [
                        InkWell(
                            onTap: () {},
                            child: Card(
                              child: Text(snapshot.data!.docs[index][Cart]),
                            )),
                      ]);
                    },
                    itemCount: snapshot.data!.docs.length,
                  ))
                : Center(
                    child: CupertinoActivityIndicator(),
                  ),
            TextButton(
                child: Text('checkout'),
                onPressed: () {
                  FirebaseFirestore.instance
                      .collection('user')
                      .doc(auth.currentUser!.uid);
                })
          ]);
        },
      ),
    );
  }
}

使用 get(),获取用户地图中的特定字段,如下所示:

child: Text(snapshot.data!.docs[index].get('Cart'),