Flutter 计算所属类别中商品的总价

Posted

技术标签:

【中文标题】Flutter 计算所属类别中商品的总价【英文标题】:Flutter Calculating the total price of the items in thier category 【发布时间】:2020-12-17 14:16:57 【问题描述】:

待办事项应用

class ToDoItem
  final String id;
  final String title;
  final Color color;
  final int price;
  final IconData icon;
  final String todoListId;

  const ToDoItem(
    @required this.color,
    @required this.id,
    @required this.todoListId,
    @required this.price,
    @required this.title,
    @required this.icon,
  );

我正在努力将待办事项列表中的项目总价格加起来等于 todoListId 例如:

列表屏幕

列表项目屏幕

所以我想计算总商品价格

这是我尝试过的:

  List<Map<String, Object>> get totalItemsPrice
    return List.generate(1, (index) 
      var totalPriceSum = 0.0;
      for (var i = 0; i < toDo.length; i++) 
        totalPriceSum = toDo[index].amount + totalPriceSum ;
      
      return 
        'price': totalSum,
      ;
    ).toList();
  

  double get totalPriceSum 
    return totalItemsPrice.fold(0.0, (sum, item) 
      return sum + item['price'];
    );
  

待办事项如下所示:

List<ToDO> toDo= [];

但是当我希望它只计算其类别中物品的总价时,它正在计算所有待办事项的总价,但它不起作用

【问题讨论】:

【参考方案1】:

如果要根据项目的todoListId 进行过滤,则需要将其提供给方法。从那里,在fold 之前使用where 以仅对具有匹配ID 的项目求和:

double totalPriceSum(int todoListId) 
  return ItemsPrice.where((item) => item.todoListId == todoListId)
                   .fold(0.0, (sum, item) => sum + item['price']); 

【讨论】:

以上是关于Flutter 计算所属类别中商品的总价的主要内容,如果未能解决你的问题,请参考以下文章

如何用JS算出商品总价!

想要在flutter中通过底部导航栏的总价

如何获取多个 Spinner View 中的商品数量并计算总价

GO语言开发天天生鲜项目第五天 购物车模块和订单模块

经典电商数据库分析构建

Flutter中如何同步两个TextField