【问题标题】:Flutter - Firestore menu functionalityFlutter - Firestore 菜单功能
【发布时间】:2020-07-17 08:35:15
【问题描述】:

我想在 Flutter & Firebase 中创建一个在线交付项目。对于菜单部分,每个产品都有不同的属性,我如何根据每个项目的属性显示不同的屏幕(或小部件)? (例如,当我点击咖啡时,在屏幕上我想显示尺寸、糖分的详细信息,而在汉堡上我想显示浇头、肉类型等)有人对我如何做到这一点有任何想法/建议吗? example of menu collection in database

【问题讨论】:

    标签: firebase flutter nosql dynamiclayout


    【解决方案1】:

    这是一个广泛的话题,给你一个提示或者你可以做到这一点的一种方法是制作 Collection(Products) 并且每个文档代表一个独特的产品,你可以像下面那样填充列表,

    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(),
                );
            }
          },
        );
      }
    }
    

    然后在 ListTile 的 onTap 中导航到您的产品页面,将数据作为参数传递。

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 2021-12-21
      • 2023-01-11
      • 2013-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      • 1970-01-01
      相关资源
      最近更新 更多