购物车

<template>
  <div>
      <div class="top">
           <van-nav-bar
        title="购物车"
        left-arrow
        @click-left="onClickLeft"
      />
      </div>
    <div class="list">
        <van-checkbox-group v-model="result" @change="bian">
            <van-swipe-cell v-for="(item,index) in carts" :key="index">
                <van-row >
                  <van-col span="2" class="chu">
                       <van-checkbox :name="item"></van-checkbox>
                  </van-col>
                  <van-col span="22">
                       <van-card
                           :price="item.item.actualPrice"
                           :title="item.item.title"
                           class="goods-card"
                           :thumb="item.item.mainPic"
                         >
                         <template #num>
                             <van-stepper v-model="item.num" 
                                theme="round"
                                button-size="22"
                                disable-input 
                                @click="save"
                                />
                         </template>
                         </van-card>
                  </van-col>
                </van-row>
                  <template #right>
                  <van-button square text="删除" type="danger" @click="del(index)" class="delete-button" />
                </template>
            </van-swipe-cell>
        </van-checkbox-group>
    </div>
               
         <van-submit-bar :price="zong" button-text="提交订单" @submit="onSubmit">
           <van-checkbox v-model="checked" @click="xuan">全选</van-checkbox>
         </van-submit-bar>     
         
  </div>
</template>

<script>
export default {
    data() {
        return {
            carts:[],
            result:[],
            checked:false
        }
    },
    computed: {
        zong(){
            let zong =0;
            this.result.map(item=>{
                zong+=item.item.actualPrice*100*item.num
            })
         return  zong
        }
        
    },
    created(){
            if(localStorage.ksDemo){
                this.carts=JSON.parse(localStorage.ksDemo)
            }
    },
    methods:{
        // 全选 不全选
        xuan(){
            if(this.checked){
                this.result=this.carts
            }else{
                this.result=[]
            }
        },
        // 存储本地
        save(){
            localStorage.ksDemo=JSON.stringify(this.carts)
        },
        // 当result数组发生变化时要做的事
        bian(){
            this.checked=this.result.length==this.carts.length
        },
        // 删除
        del(index){
        
            let del =this.carts.splice(index,1)
            this.result.map((item,index)=>{
                if(item.item.id == del[0].item.id){
                    this.result.splice(index,1)
                }
            })
            this.save()
        },
        onClickLeft(){
            this.$router.push({
                path:"/"
            })
        }
    }
}
</script>

<style scoped>
.top{
    width: 100%;
    height: 50px;
    position: fixed;
    top: 0px;
    z-index: 100;
    
}
.list{
    margin-top: 50px;
    width: 100%;
    margin-bottom: 50px;

}
.chu{
    display:flex;
    justify-content: center;
    align-items: center;
}
.delete-button{
    height: 100%;
}

</style>

在这里插入代码片购物车加减商品计算总价

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小商贩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值