在项目中写一个购物车功能

<template>

  <div class="two">

    <div v-for="item in taskPriceList" :key="item.id">

      <input type="radio" value="selectInput" v-model="item.selectF" />

      <p>¥{{item.price}}元</p>

      <div>

        <button @click="delBtn(item.id)">-</button>

        <span class="span">{{item.count}}</span>

        <button @click="addBtn(item.id)">+</button>

      </div>

    </div>

    <p>总共合计:{{totalPrice}}元</p>

  </div>

</template>

<script>

export default {

  name: "ShengMingZQTwo",

  data() {

    return {

      taskPriceList: [

        { id: 1, selectF: "", count: 1, price: 138 },

        { id: 2, selectF: "", count: 2, price: 30 },

        { id: 3, selectF: "", count: 1, price: 450 }

      ]

    };

  },

  computed: {

    totalPrice() {

      let sum = 0;

      this.taskPriceList.forEach(item => {

        if (item.selectF == "selectInput") {

          sum += item.price * item.count;

        }

      });

      return sum;

    }

  },

  methods: {

    addBtn(value) {

      this.taskPriceList.forEach(item => {

        if (value == item.id) {

          item.count++;

          item.selectF = "selectInput";

        }

      });

    },

    delBtn(value) {

      this.taskPriceList.forEach(item => {

        if (value == item.id && item.count > 1) {

          item.count--;

          if (item.count == 1) {

            item.selectF = "";

          }

        }

      });

    }

  }

};

</script>

<style scoped>

.span {

  display: inline-block;

  margin: 0 18px;

}

</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值