微信小程序 数量增减

       在微信小程序中,做购物车功能的部分的时候,涉及到商品的增加和减少功能,一般来说这部分的功能主要就是事件,当点击“-”时,绑定了一个将数字减少的函数,当减少到1时就不再减少,当点击“+”号时,绑定了将数字增加的功能,我先初步设计一个,首先就是在data中定义一个num变量:

  data: {
    num:0
  },  

之后在wxml页面设计一个加减的框,中间的数字绑定了num,并且简单设计了一下这样的界面

<!-- wxml -->
<view class="myview">
  <text>-</text>
  <text>{{num}}</text>
  <text>+</text>
</view>



/* wxss */
.myview{
  font-size: 50rpx;
  display: flex;
  flex-direction: row;
  text-align: center;
  justify-content: space-around;
  border: 1rpx solid black;
  border-radius:30rpx
}

效果是这样的

目前来说是没有绑定加减的事件的,接着我们设计一下加减的功能,在“-”号绑定一个decrease的函数,在“+”绑定一个increase的函数,那么wxml中的代码就会是这样了:

<!-- wxml -->
<view class="myview">
  <text bindtap="decrease">-</text>
  <text>{{num}}</text>
  <text bindtap="increase">+</text>
</view>

之后在js文件中添加这两个函数的具体实现,其中减的时候如果当前为1,那么久不能继续减了:

  decrease:function(e){
    if(this.data.num == 1){
      wx.showToast({
        title: '不能再减了~',
        icon:'none'
      })
      return ;
    }
    var Num = this.data.num - 1;
    this.setData({
      num: Num
    })
  },
  increase:function(e){
    var Num = this.data.num + 1;
    this.setData({
      num: Num
    })
  }

现在的效果是这样的:

 

到此,就已经实现了想要的功能,之后就是将一个这样的功能扩展为多个功能了,不做过多介绍,直接给代码,代码如下:

js文件:

//index.js
Page({
  data: {
    num:[
      1, 1, 1, 1, 1
    ],
    total:0
  },  
  onLoad: function (options) {
    this.getTotal()
  },
  decrease:function(e){
    var index = e.currentTarget.dataset.index;
    console.log(e)
    if(this.data.num[index] == 1){
      wx.showToast({
        title: '不能再减了~',
        icon:'none'
      })
      return ;
    }
    var Num = this.data.num;
    Num[index] --;
    this.setData({
      num: Num
    })
    this.getTotal();
  },
  increase:function(e){
    var index = e.currentTarget.dataset.index;
    var Num = this.data.num;
    Num[index]++;
    this.setData({
      num: Num
    })
    this.getTotal();
  },
  getTotal:function(){
    var temp_num = 0;
    for(var i = 0; i < this.data.num.length; i++){
      temp_num += this.data.num[i]
    }
    this.setData({
      total:temp_num
    })
  }
})

wxml文件:

<!-- wxml -->
<view wx:for="{{num}}" wx:key="index">
  <view class="myview">
    <text bindtap="decrease" data-index="{{index}}">-</text>
    <text>{{item}}</text>
    <text bindtap="increase" data-index="{{index}}">+</text>
  </view>
</view>
<view style="margin-top:50rpx; text-align:center; font-size:50rpx">
  <text>总和:{{total}}</text>
</view>

wxss文件:

/* wxss */
.myview{
  margin-top: 20rpx;
  font-size: 50rpx;
  display: flex;
  flex-direction: row;
  text-align: center;
  justify-content: space-around;
  border: 1rpx solid black;
  border-radius:30rpx
}

最后效果:

到此结束

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OneNet 微信小程序是由中国移动推出的一款用于物联网应用开发的工具。它基于微信小程序的开发框架,结合了中国移动的物联网平台 OneNet,提供了丰富的物联网功能和接口。 OneNet 微信小程序可以实现设备接入和控制、数据采集和展示、消息推送等一系列物联网应用的开发。与传统的物联网应用开发相比,OneNet 微信小程序具有以下几个优势: 首先,OneNet 微信小程序的开发门槛较低,使用的是微信小程序的开发框架,开发者可以使用熟悉的前端开发技术进行开发。同时,OneNet 提供了丰富的开发文档和示例,为开发者提供了便捷的开发环境。 其次,OneNet 微信小程序与微信生态系统的无缝对接,可以直接通过微信小程序实现设备的远程控制和数据采集。用户只需要在微信小程序中注册设备并进行绑定,即可通过手机随时随地对设备进行控制和监测。 再次,OneNet 微信小程序支持多种数据展示方式,包括图表、列表和地图等,用户可以根据实际需要选择最合适的展示形式。同时,OneNet 提供了数据分析和报表功能,可以对设备的历史数据进行分析和展示,帮助用户更好地了解设备的运行状态和趋势。 总而言之,OneNet 微信小程序是一款功能强大且易于开发的物联网应用开发工具,为开发者和用户提供了便捷的物联网应用开发和使用体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值