Firebase 颤振-Firestore菜单功能
我想在Flatter&firebase中创建一个在线交付项目。对于菜单部分,每个产品都有不同的属性,如何根据每个项目的属性显示不同的屏幕(或小部件)?(例如,当我在屏幕上点击咖啡时,我想在屏幕上显示尺寸、糖的详细信息,而在汉堡上我想显示配料、肉类类型等)有人对我如何做到这一点有什么想法/建议吗?这是一个广泛的话题,给你一个提示,或者你可以做的一个方法是收集(产品)每个文档代表一个独特的产品,您可以按如下方式填充列表Firebase 颤振-Firestore菜单功能,firebase,flutter,nosql,dynamiclayout,Firebase,Flutter,Nosql,Dynamiclayout,我想在Flatter&firebase中创建一个在线交付项目。对于菜单部分,每个产品都有不同的属性,如何根据每个项目的属性显示不同的屏幕(或小部件)?(例如,当我在屏幕上点击咖啡时,我想在屏幕上显示尺寸、糖的详细信息,而在汉堡上我想显示配料、肉类类型等)有人对我如何做到这一点有什么想法/建议吗?这是一个广泛的话题,给你一个提示,或者你可以做的一个方法是收集(产品)每个文档代表一个独特的产品,您可以按如下方式填充列表 class ProductsList extends StatelessWidg
class ProductsList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection('Products').snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasError)
return new Text('Error: ${snapshot.error}');
switch (snapshot.connectionState) {
case ConnectionState.waiting: return new Text('Loading...');
default:
return new ListView(
children: snapshot.data.documents.map((DocumentSnapshot document) {
return new ListTile(
title: new Text(document['title']),
subtitle: new Text(document['description']),
);
}).toList(),
);
}
},
);
}
}
类产品列表扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回流生成器(
流:Firestore.instance.collection('Products').snapshots(),
生成器:(BuildContext上下文,异步快照){
if(snapshot.hasError)
返回新文本('Error:${snapshot.Error}');
交换机(快照.连接状态){
case ConnectionState.waiting:返回新文本('Loading…');
违约:
返回新的ListView(
子项:snapshot.data.documents.map((DocumentSnapshot文档){
返回新的ListTile(
标题:新文本(文件['title']),
副标题:新文本(文档['description']),
);
}).toList(),
);
}
},
);
}
}
之后,在ListTile的onTap中导航到产品页面,将数据作为参数传递