Flutter - функциональность меню Firestore
Я хочу создать проект онлайн-доставки на flutter & firebase. В разделе меню каждый продукт имеет разные свойства. Как я могу отображать разные экраны (или виджеты) в зависимости от свойств каждого элемента? (например, когда я нажимаю на кофе, на экране я хочу показать детали, которые я хочу показать размер, сахар, а на бургере я хочу показать начинки, тип мяса и т. д.) Есть ли у кого-нибудь идеи / советы, как я могу это сделать?пример сбора меню в базе данных
1 ответ
Это обширная тема, чтобы дать вам подсказку или один из способов сделать это - сделать Коллекцию (Продукты), и каждый документ представляет уникальный продукт, и вы можете заполнить список, как показано ниже,
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(),
);
}
},
);
}
}
После этого внутри onTap вашего ListTile перейдите на страницу вашего продукта, передав данные в качестве параметра.