【问题标题】:How to add cloth size selector on my flutter app?如何在我的颤振应用中添加布料尺寸选择器?
【发布时间】:2020-09-09 16:27:13
【问题描述】:

如何为我的服装电子商务应用添加尺码选择器,我正在创建一个多供应商服装电子商务应用。我不知道如何为客户实施尺寸选择器,然后将所选尺寸发送到添加到购物车中。我还希望发布产品的供应商能够输入他拥有的尺寸。请帮忙提供示例代码?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    这可能是一个重复的答案,但答案 使用下拉列表,只需搜索颤振下拉列表,通过示例检查此答案 How to implement drop down list in flutter?

    【讨论】:

    • 是的,我读过这个,但是这个项目写在代码中。我有一个上传页面,让供应商发布他想要的尺寸并将其显示在产品上。我正在使用 firebase 来保存数据。如何让用户选择他想要的尺寸并将状态设置为他选择的尺寸,然后将选择的尺寸发送到下一页,如购物车页面或结帐页面。供应商应该知道在添加到购物车时选择了哪种尺寸。
    • 在这种情况下,您需要创建一个逻辑并将供应商定义的每个占用保存在您的数据库中,然后从应用程序调用您的数据库并获取供应商输入的占用列表,填充在下拉列表中为用户列出,获取用户选择的占用ID,然后将其与其他数据一起传递到下一页查看此示例如何将数据传递到下一个屏幕flutter.dev/docs/cookbook/navigation/passing-data
    • 我是否像“$size”这样填充下拉列表。我如何获取 id?可以用 todo 完成吗?
    • 这就是为什么我说你需要想出一个逻辑,不要重复你自己,我不会允许每个供应商为他的产品创建尺寸,我会创建一个表格列表,仅由管理管理员,然后设置一个逻辑,允许每个供应商从我创建的扣押列表中添加他想要的扣押,并且在每个产品详细信息中,您可以添加一个列 size1 size2 size3 以及如果供应商选择了可用于产品集的尺寸 clomun size如果不可用,则为 true,他没有选择它,将其设置为 false
    • 是的,谢谢。每个地区都有不同的尺码表,因此亚洲人的尺码不同,美国的尺码也不同。所以我想让供应商在每个尺寸之前输入一个首字母,以显示尺寸是由特定区域图表制成的。
    【解决方案2】:

    试试这个小部件

    import 'package:flutter/material.dart';
    
    class SizeSelector extends StatelessWidget {
      final List<String> sizes;
      final String selectedSize;
      final void Function(String) onSizeSelected;
    
      const SizeSelector(
          {Key key, this.sizes, this.selectedSize, this.onSizeSelected})
          : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return Row(
          children: List.generate(
              sizes.length,
              (index) => Padding(
                    padding: const EdgeInsets.all(5.0),
                    child: Material(
                      child: InkWell(
                        borderRadius: BorderRadius.circular(3),
                        onTap: () => onSizeSelected(sizes[index]),
                        child: Ink(
                          height: 50,
                          width: 50,
                          decoration: BoxDecoration(
                              color: selectedSize == sizes[index]
                                  ? Color(0xFF667EEA)
                                  : Color(0xFFF3F3F3),
                              borderRadius: BorderRadius.circular(3)),
                          child: Align(
                            alignment: Alignment.center,
                            child: Text(
                              sizes[index],
                              style: Theme.of(context).textTheme.headline6.copyWith(
                                  color: selectedSize == sizes[index]
                                      ? Colors.white
                                      : Colors.black87),
                            ),
                          ),
                        ),
                      ),
                    ),
                  )),
        );
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      • 2018-10-31
      • 2020-07-19
      • 2021-08-20
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      相关资源
      最近更新 更多