1

当用户使用初始价格按下减号图标时,我试图降低价格,但是增加后的新价格是初始价格

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);
      }
    },
4

2 回答 2

0
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);
      }
    },

您需要找到每件商品的价格,然后用它来减去或增加价格

于 2020-12-19T22:03:04.537 回答
-1

您可以使用负数。就像是:

newPrice = currentQty * price
newPactionrice = 'less'? newPrice = newPrice * -1
// then add that price... + a negative number will decrease the total
于 2020-12-19T21:49:33.857 回答