list - dart - 如果包含在列表中,如何检查 id/name?

标签 list dart flutter

我有一个案例,用户想要将产品添加到购物车,在此之前我想检查 id/name 产品是否在购物车中。

如果没有,我会将其添加到购物车,如果它已经存在,我将进行编辑(添加数量和价格)

我试过使用下面的代码:

   Future checkIfProductHasAdded(String uid) async {
      for (var i = 0; i < _checkoutList.length; i++) {
        print(_checkoutList[i].name);

      if (_checkoutList[i].productName == getSelectedProduct.name) {
        selectedProductCheckout(i);

        print(getSelectedProduct.name +
            "PRODUCT CHECKOUT HAS ADDED" +
            _checkoutList[i].productName);

       // await updateProductCheckout(uid);

        break;

      } else {
        print(getSelectedProduct.name + "NOT FOUND AT PRODUCT CHECKOUT");
        //await addProductToCheckout(uid);
        break;
      }
    }
  }

当 I print()i 没有指定在 List 上的位置,而是停留在位置 0。 如何让它发挥作用?

任何答案将不胜感激。

最佳答案

您应该检查产品是否存在于 firstWhere 子句中。 像这样:

var product = _checkoutList.firstWhere((product) => product.productName == getSelectedProduct.name, orElse: () => null);

if (product == null) addProductToCheckout(uid);
else updateProductCheckout(uid);

关于list - dart - 如果包含在列表中,如何检查 id/name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54529864/

相关文章:

list - 在haskell中创建循环列表的三种方法

flutter - 因为testing_app需要SDK版本>=2.16.1 <3.0.0,版本解析失败。在 flutter 中

dart - 了解Dart语法

Flutter Firebase Auth 非常慢

java - 如果过滤值为空,如何跳过流过滤器?

python - 在 Python 中从列表生成字典

c++ - 如何删除 STD::List 中最近的 "Point"对象到某个 x,y?

canvas - 如何在Dart中使用StageXL绘制虚线圆

flutter - 在 Flutter 中,如何使用文本字段和方形图像进行行布局

flutter - 我的Flutter项目未运行(错误消息)