添加购物车功能

功能简介

点击商品加入购物车,如果点击相同的商品,让商品的数量+1
js代码
data: {
    // 商品列表项
    list:[{id:1,name:"苹果"},{id:2,name:"西瓜"},{id:3,name:"梨"},{id:4,name:"香蕉"},{id:5,name:"葡萄"},{id:6,name:"菠萝"}],
    // 我的购物车的列表项
    choosed:[],
    ischoosed:false,
    index:null
  },
  // 点击添加购物车功能
  add:function(e){
    // 初始化商品的选中状态
    this.setData({
      ischoosed:false
    })
    var that=this;
    // 获取当前点击商品的id
    var id=e.currentTarget.dataset.item.id
    // 获取的当前点击商品的信息
    var item=e.currentTarget.dataset.item;
    var choosed=this.data.choosed;
    //便利购物车列表,如果商品为被选中状态,则ischoosed为true
    choosed.forEach(function(item,index){
      if(item.id==id){
       that.setData({
          ischoosed:true,
          // 保存当前商品的下标
          index:index
       })
      }
    })
    // 如果当前商品没有在购物车中,则将该商品push进数组中
    if(!this.data.ischoosed){
      item.quality=1
      choosed.push(item);
      console.log(choosed);
    //否则,将商品的数量+1 
    }else{
      //根据下标找到对应商品,数量+1
      choosed[that.data.index].quality++
    }
    // 将choosed赋值
    this.setData({
        choosed
      })
  }
ttml代码	
<view class="product">
    <view tt:for="{{list}}" class="pro_item"  bindtap="add" data-item="{{item}}">{{item.name}}</view>
</view>
<view>我的购物车</view> 
<view class="my_cart">
    <view tt:for="{{choosed}}" class="cart_item">
        <text>{{item.name}}</text>
        <text>X{{item.quality}}</text>
    </view>
</view>

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值