购物车cart

本文介绍了一个使用Vue.js编写的购物车功能,包括商品的选择、数量调整以及总价的动态计算,通过`u-checkbox`和`u-number-box`组件实现用户交互。
摘要由CSDN通过智能技术生成

<template>
    <view class="content">
        <view class="cart" v-for="(item,index) in list" :key="index" @longpress="del(index)">
            <u-checkbox-group>
                <u-checkbox v-model="item.checked"></u-checkbox>
            </u-checkbox-group>
            <image :src="item.url" mode="aspectFit"></image>
            <view class="detail">
                <view class="">{{item.name}}</view>
                <view class="">单价:¥{{item.price}}</view>
                <view class="xiaoji">小计:¥{{item.price*item.number}}</view>
            </view>
            <u-number-box v-model="item.number" :min="1"></u-number-box>
        </view>
        总价:¥{{total.toFixed(2)}}
        <button type="warn">结算</button>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                list:[
                    {name:'小白鞋',url:'/static/shoe.jpg',price:120,number:1,checked:true},
                    {name:'收纳盒',url:'/static/shounahe.jpg',price:80,number:2,checked:false},
                    {name:'白兔奶糖',url:'/static/sol.jpg',price:10,number:5,checked:false},
                    ]
            }
        },
        computed:{
            total(){
                var sum=0
                for(var i in this.list){
                    var item=this.list[i]
                    if(item.checked){
                        sum+=item.price*item.number
                    }
                }
                return sum
            }
        },
        methods: {
            del(id){
                var that=this
                uni.showModal({
                    title:'提示',
                    content:'确认删除'+this.list[id].name+'吗?',
                    success:function(res){
                        if(res.confirm){
                            that.list.splice(id,1)
                        }else if(res.cancel){
                            return
                        }
                    }
                })
            }
        }
    }
</script>

<style>
    .cart{
        display: flex;
        margin: 10px;
        padding: 10px;
        border-bottom: 1px solid #ccc;
    }
    .cart image{
        width: 200px;
        height: 200px;
        margin: 0 10px;
    }
    
    .detail{
        display: flex;
        flex-direction: column;
        flex:1;
    }
    .detail view:nth-child(2){
        display: flex;
        flex: 1;
        align-items: center;
    }
    .xiaoji{
        color: orange;
    }
</style>
 

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值