美文网首页
商品加入购物车的代码

商品加入购物车的代码

作者: 不染事非 | 来源:发表于2019-04-11 20:16 被阅读0次

加入购物车
页面布局分为两部分,第一部分为底部悬浮栏(购物车、收藏、加入购物车、立即购买),第二部分为加入购物车的隐藏布局主要用来选择商品属性和修改商品数量。
detail.wxml

<view class="detail-nav">
  <image bindtap="toCar" src="../../images/bottomNav/cart.png" />  
  <view class="line_nav"></view>
  <button data-goodid="1"  class="button-green" bindtap="toggleDialog" >加入购物车</button>
  <button class="button-red" bindtap="immeBuy" formType="submit">立即购买</button>
</view>
<!--加入购物车-->
<import src="../template/template.wxml" />
<view  wx:if=" isMask" class="dialog">
      <view class="dialog__mask" bindtap="toggleDialog" />
      <view class="dialog__container">
        <view class="row">
          <icon bindtap="closeDialog" class="image-close" type="cancel" size="25"/>
          <image class="image-sku" src="https://m.360buyimg.com/n12/jfs/t11317/108/1080677336/325163/f4c2a03a/59fd8b17Nbe2fcca3.jpg!q70.jpg"></image>
          <view class="column">
            <text class="sku-price">¥7935.84</text>
            <text class="sku-title">库存20件</text>
            <text class="sku-title">商品编码:1456778788</text>
          </view>
        </view>
        <text class="border-line"></text>
        <view class="row">
          <text >购买数量</text>
          <view class="quantity-position">
              <template is="quantity" data="{{ ...data}}" />  
          </view>
        </view>
        <text class="border-line"></text>
        <button data-goodid="1" class="button-addCar" bindtap="addCar" formType="submit">确定</button>
      </view>
    </view>

detail.js

// 立即购买
  immeBuy() {
    wx.showToast({
      title: '购买成功',
      icon: 'success',
      duration: 2000
    });
  },
  /**
     * sku 弹出
     */
  toggleDialog: function () {
    this.setData({
       isMask: !this.data. isMask
    });
  },
  /**
   * sku 关闭
   */
  closeDialog: function () {
    console.info("关闭");
    this.setData({
       isMask: false
    });
  },
  /* 减数 */
  delCount: function (e) {
    console.log("刚刚您点击了减一");
    var count = this.data.quantity1.quantity;
    // 商品总数量-1
    if (count > 1) {
      count -= 1;
    }
    // 只有大于一件的时候,才能normal状态,否则disable状态  
    var delStatus = count <= 1 ? 'disabled' : 'normal';
    // 只有大于10件的时候,才能normal状态,否则disable状态  
    var addStatus = count >= 10 ? 'disabled' : 'normal';
    // 将数值与状态写回  
    this.setData({
      quantity1: {
        quantity: count,
        delStatus: delStatus,
        addStatus: addStatus
      }
    });
  },
  /* 加数 */
  addCount: function (e) {
    console.log("刚刚您点击了加一");
    var count = this.data.quantity1.quantity;
    // 商品总数量-1  
    if (count < 10) {
      count += 1;
    }

    // 只有大于一件的时候,才能normal状态,否则disable状态  
    var delStatus = count <= 1 ? 'disabled' : 'normal';
    // 只有大于10件的时候,才能normal状态,否则disable状态  
    var addStatus = count >= 10 ? 'disabled' : 'normal';
    // 将数值与状态写回  
    this.setData({
      quantity1: {
        quantity: count,
        delStatus: delStatus,
        addStatus: addStatus
      }
    });
  },
  /* 输入框事件 */
  bindManual: function (e) {
    var count = this.data.quantity1.quantity;
    // 将数值与状态写回  
    this.setData({
      count: count
    });
  },
  /**
   * 加入购物车
   */
  addCar: function (e) {
    console.log(e.target.dataset.goodid);
    wx.showToast({
      title: '加入购物车成功',
      icon: 'success',
      duration: 2000
    });
    console.info("关闭");
        this.setData({
        showDialog: false
    });
  },
  // 收藏
  addLike() {
    this.setData({
      isLike: !this.data.isLike
    });
  },
  // 跳到购物车
  toCar() {
    wx.switchTab({
      url: '/pages/cart/cart'
    })
  },
  // 立即购买
  immeBuy() {
    wx.showToast({
      title: '购买成功',
      icon: 'success',
      duration: 2000
    });
  },

商品数量加减模板(template)
1、创建template模板
在page目录下创建template文件,并生成template.js、template.json、template.wxml和template.wxss配套文件
2、template.wxml

<template name="quantity">
  <!-- 主容器 -->  
  <view class="stepper">  
      <!-- 减号 -->  
      <text class="{{delStatus}}" bindtap="delCount">-</text>  
      <!-- 数值 -->  
      <input type="number" bindchange="bindManual" value="{{quantity}}"  disabled="disabled"/>  
      <!-- 加号 -->  
      <text class="{{addStatus}}" bindtap="addCount">+</text>  
  </view>  
</template>

3、template.wxss

/*主容器*/  
.stepper {  
    width:110px;  
    height: 26px;  
    /*给主容器设一个边框*/  
    border: 1rpx solid #000000;  
    border-radius: 3px;  
    margin:0 auto;  
}  

/*加号和减号*/  
.stepper text {  
    width: 24px;  
    line-height: 15px;  
    text-align: center;  
    float: left;  
}  

/*数值*/  
.stepper input {  
    width: 40px;  
    height: 26px;  
    float: left;  
    margin: 0 auto;  
    text-align: center;  
    font-size: 12px;  
    color: #000000;
    /*给中间的input设置左右边框即可*/  
    border-left: 1rpx solid #000000;  
    border-right: 1rpx solid #000000;  
}  

/*普通样式*/  
.stepper .normal{  
    color: black;  
}  

/*禁用样式*/  
.stepper .disabled{  
    color: #ccc;  
}  

4、detail.wxml样式引用

<import src="../template/template.wxml" />

备注:template是在page目录下
5、detail.js初始化

data: {
      quantity: 1,
      min: 1,
      max: 20,
      delStatus: 'disabled',
      addStatus: 'normal',
     isMask:false
    },
    isLike: true,
    showDialog: false

相关文章

  • 商品加入购物车的代码

    加入购物车页面布局分为两部分,第一部分为底部悬浮栏(购物车、收藏、加入购物车、立即购买),第二部分为加入购物车的隐...

  • 购物车实作思路

    购物车实作思路: [TOC] 1.建立将商品加入到购物车的action (1)在商品页面新建“加入购物车”按钮(2...

  • 商城购物流程

    1、商城购物分为方式:加入购物车,立即购买 a)加入购物车:添加多个商品信息(购物车id(主键),商品id,用户i...

  • 【笔记5-购物车及地址模块】从0开始 独立完成企业级Java电商

    购物车模块 数据库表设计 购物车表 功能 加入商品更新商品数查询商品数移除商品单选/取消全选/取消购物车列表 涉及...

  • Vue.js实战第五章练习题

    利用计算属性、指令等知识开发购物车 题目描述 购物车需要展示一个已加入购物车的商品列表,包含商品名称、商品单价、购...

  • web storage本地存储

    一、引入打开京东,开了多个商品页面,每个都点击 加入购物车 ,然后进入购物车页面,可以看到多个商品都在购物车。购物...

  • jmeter如何采用json提取器提取多个值

    业务场景:在电商系统中多个商品加入购物车后,需要选择购物车中的商品进行购买,在订单结算页面需要用到购物车中的商品数...

  • 19、【购物车模块】——加入购物车功能开发

    购物车功能的开发是用户在前端将商品加入到购物车中的操作,加入的时候分两种情况,一种是商品已经在购物车里面了,如果用...

  • Vue.js 2.0 完成购物车

    需求:购物车需要展示一个己加入购物车的商品列表,包含商品名称、商品单价、购买数量和操作等信息,还需要实时显示购买的...

  • 《Android APP可能有的东西》之UI篇:加入购物车动画

    很多电商app的加入购物车的动作会要求加上动画效果:飞进购物车,想来也合理,在listview界面时商品快速加入购...

网友评论

      本文标题:商品加入购物车的代码

      本文链接:https://www.haomeiwen.com/subject/aqnxwqtx.html