Flutter - функциональность меню Firestore - PullRequest
0 голосов
/ 05 апреля 2020

Я хочу создать проект онлайн-доставки в флаттере и пожарной базе. Для раздела меню каждый продукт имеет разные свойства. Как я могу отображать разные экраны (или виджеты) в зависимости от свойств каждого элемента? (напр., когда я нажимаю на кофе, на экране отображаются детали, которые я хочу показать, размер, сахар, в то время как в бургере я хочу показать начинки, тип мяса и т. д. c) У кого-нибудь есть идеи / советы о том, как я могу сделать это? пример коллекции меню в базе данных

1 Ответ

0 голосов
/ 05 апреля 2020

Это широкая топика c, чтобы дать вам подсказку или один из способов сделать это - создать коллекцию (продукты), и каждый документ представляет собой уникальный продукт, и вы можете заполнить список, как показано ниже,

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 перейдите на страницу продукта, передав данные в качестве параметра.

...