Flutter 在计算贴图值之后添加和减去值

Flutter 在计算贴图值之后添加和减去值,flutter,dart,cart,Flutter,Dart,Cart,我在购物车中使用了一个变量,用于更新总数。当我导航到我的购物车页面时,所有变量都被正确计算。然后,我允许用户更新购物车中的数量,但是,每当我这样做时,它的值似乎被计算了多次,我无法理解错误在哪里 最初,我调用此函数以获取总数: void getCartTotal(){ 最终购物车=CartProvider.of(上下文); if(cart.orderDetails!=null){ 对于(int i=0;i

我在购物车中使用了一个变量,用于更新总数。当我导航到我的购物车页面时,所有变量都被正确计算。然后,我允许用户更新购物车中的数量,但是,每当我这样做时,它的值似乎被计算了多次,我无法理解错误在哪里

最初,我调用此函数以获取总数:

void getCartTotal(){
最终购物车=CartProvider.of(上下文);
if(cart.orderDetails!=null){
对于(int i=0;i
然后,在更新购物车中的数量时,我使用此计数器:

      Counter(
                  color: Colors.white,
                  textStyle: TextStyle(
                      fontFamily: 'Poppins',
                      color: buddiesPurple,
                      fontSize: screenAwareSize(15, context)),
                  buttonSize: screenAwareSize(20, context),
                  minValue: 1,
                  maxValue: 10,
                  step: 1,
                  decimalPlaces: 0,
                  initialValue: cart.orderDetails[i].quantity,
                  onChanged: (num val) {
                    setState(() {
                      cart.orderDetails[i].quantity = val;
getCartTotal();
                    });
                  },
                ),

但是每当我尝试更新购物车时(增加或减少),值都会加倍。如果您有任何帮助,我们将不胜感激。

我认为您需要将您的
cartTotal
重置为
0
,然后再循环您的项目并将其值添加到总计中:

void getCartTotal(){
最终购物车=CartProvider.of(上下文);
if(cart.orderDetails!=null){
cartotal=0;
对于(int i=0;i

查看它在哪里显示
cartotal=0
。如果不这样做,每次增加计数器时,
cartToal
将加倍加上增量。

这不会删除/覆盖购物车中的所有项目吗?