如何从firebase颤振中的文档中检索列表?
Posted
技术标签:
【中文标题】如何从firebase颤振中的文档中检索列表?【英文标题】:how to retrieve a list from a document in firebase flutter? 【发布时间】:2021-10-09 20:30:15 【问题描述】:我想检索文档中的列表并通过 listview.builder 显示它
Cart:[ 0 "default", 1 "bugatti chiron", 2 "examp" 3 "bugatti veron", 4 "examp", 5 "bugatti chiron 20" ]
所以上面的数组是我想要检索并在列表视图中显示的。
下面的课程是我尝试实现但失败的方式
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);
)
]);
,
),
);
【问题讨论】:
嗨,请发布您的 Firestore 数据库结构,以及当您说“下面的课程是我尝试实现它但失败的方式”时,究竟是什么失败了? 好吧:用户 > XE4nqk1hVnYlDjn2Y5cDMQ3cJdi1 > 电子邮件“example@gmail.com”名称“Moe”密码“11223344”uid“XE4nqk1hVnYlDjn2Y5cDMQ3cJdi1”购物车0“默认”1“ex”2“bugatti veron”3 “前”4“布加迪 chiron 20”5“布加迪 chiron 40” 【参考方案1】:使用get()
,获取用户地图中的特定字段,如下所示:
child: Text(snapshot.data!.docs[index].get('Cart'),
【讨论】:
当我指定字段的索引时它可以工作:child: Text(snapshot.data!.docs[index].get('Cart')[0],它仍然设法检索第一个索引所有用户,而我想要当前活动用户中列表的所有数据!!? 您需要另一个列表视图构建器。以上是关于如何从firebase颤振中的文档中检索列表?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 StreamBuilder 将数据从 firebase firestore 检索到颤振中,并使用 ListView.builder 显示值?