![](/img/trans.png)
[英]Flutter Firestore How to load array from firestore to a list
[英]How to show category list from firestore in flutter?
我有一个名为 collection 的产品,在那个产品集合中我保存了产品及其名称和类别。 现在我需要创建一个标签栏,其中包含产品内的所有类别列表。 问题是同一类别有多个产品。 我希望该类别显示一次。 如何做到这一点?
这是我的代码:
StreamBuilder<QuerySnapshot<Map<String, dynamic>>>(
stream: FirebaseFirestore.instance.collection('products') .where("category").snapshots(),
builder: (_, snapshot) {
if (snapshot.hasError) return Text('Error = ${snapshot.error}');
if (snapshot.hasData) {
final docs = snapshot.data!.docs;
return ListView.builder(
itemCount: docs.length,
itemBuilder: (_, i) {
final data = docs[i].data();
Set s = {};
s.add( data["category"]);
return ListTile(
title: Text(s.elementAt(0).toString()),
);
},
);
}
return Center(child: CircularProgressIndicator());
},
)
你必须提供你的代码,
猜测这段代码将帮助你实现你的代码....
在这里我拍了电影而不是产品..你可以根据你的要求更正它......
class Movie {
String name;
String category;
String language;
int rating;
Movie(
{required this.name,
required this.category,
required this.language,
required this.rating});
}
void main() {
List<Movie> movielist = [
Movie(name: 'Golmaal', category: 'Comedy', language: 'Hindi', rating: 5),
Movie(name: 'Naseeb', category: 'Classic', language: 'Hindi', rating: 5),
Movie(name: 'Hera Phery', category: 'Comedy', language: 'Hindi', rating: 5)
];
final categories = movielist.map((e) => e.category).toSet();//this will generate unique category list..
print(categories);
// now use this categories to ur design with listview or any list widgets
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.