简体   繁体   English

如何使用与增加相同的数字来降低价格?

[英]How can I decrease the price using the same number used to increase?

I'm trying to decrease the price when the user presses the minus icon using the initial price, but then the new price after increasing is the initial price当用户使用初始价格按下减号图标时,我试图降低价格,但是增加后的新价格是初始价格

quantityHandler: function (action, product) {
      // Increase or decrease quantity of product
      try {
        const newItems = [...this.products]; // clone the array
        let idx = newItems.indexOf(product);
        let currentQty = newItems[idx].productQuantity;
        let price = newItems[idx].unitPrice;

        if (action == "more") {
          newItems[idx].productQuantity = currentQty + 1;
          newItems[idx].unitPrice = price + price;
        } else if (action == "less") {
          newItems[idx].productQuantity = currentQty > 1 ? currentQty - 1 : 1;
          // Decrease current price using the initial price
        }

        this.products = newItems; // set new state
        console.log(this.products);
      } catch (error) {
        alert(error);
      }
    },
quantityHandler: function (action, product) {
      // Increase or decrease quantity of product
      try {
        const newItems = [...this.products]; // clone the array
        let idx = newItems.findIndex((item) => { //compare with some unique identifier
         return item.id === product.id
        })
        let currentQty = newItems[idx].productQuantity;
        let price = newItems[idx].unitPrice;
        let perQtyPrice = price / currentQty  //per unit price
        if (action == "more") {
          newItems[idx].unitPrice += perQtyPrice;
          newItems[idx].productQuantity = currentQty + 1;
        } else if (action == "less") {
          if(currentQty > 1) {
           newItems[idx].unitPrice -= perQtyPrice;
           newItems[idx].productQuantity = currentQty > 1 ? currentQty - 1 : 1;
          }
        }

        this.products = newItems; // set new state
        console.log(this.products);
      } catch (error) {
        alert(error);
      }
    },

You need to find the per item price then use that to subtract or add to the price您需要找到每件商品的价格,然后用它来减去或增加价格

You can use negative numbers.您可以使用负数。 Something like:就像是:

newPrice = currentQty * price
newPactionrice = 'less'? newPrice = newPrice * -1
// then add that price... + a negative number will decrease the total

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM