微信小程序购物车数量加减功能的实现

 

 

实现一个简单的数量增减功能

1.wxml

<view class='stepper sum'>
<text class='{{minusStatus}}' type='number' bindtap='bindMinus'>-</text>
<input bindinput='bindManual' value='{{num}}'></input>
<text bindtap='bindPlus'>+</text>
</view>
2.wxcss
/*全局样式*/
page {
padding: 20px 0;
}
/*主容器*/
.stepper {
width:80px;
height:26px;
margin: 0 auto;
border: 1px solid #ccc;
border-radius: 3px;
}
/*加号和减号*/
.stepper text {
float: left;
width: 19px;
line-height: 26px;
text-align: center;
}
/*数值*/
.stepper input {
width: 40px;
height: 26px;
float: left;
margin: 0 auto;
text-align: center;
font-size: 12px;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}
/*普通样式*/
.stepper .normal {
color:black;
}
/*禁用样式*/
.stepper .disable {
color: #ccc;
}

3.js

//index.js
//获取应用实例
const app = getApp()

Page({
data: {
num:1,
minusStatus:'disable'
},
//事件处理函数
/*点击减号*/
bindMinus: function() {
var num = this.data.num;
if (num>1) {
num--;
}
var minusStatus = num>1 ? 'normal':'disable';
this.setData({
num:num,
minusStatus:minusStatus
})
},
/*点击加号*/
bindPlus: function() {
var num = this.data.num;
num++;
var minusStatus = num > 1 ? 'normal' : 'disable';
this.setData({
num:num,
minusStatus: minusStatus
})
},
/*输入框事件*/
bindManual: function(e) {
var num = e.detail.value;
var minusStatus = num > 1 ? 'normal' : 'disable';
this.setData({
num:num,
minusStatus: minusStatus
})
}
})

 

posted @ 2018-10-19 10:41  ZhongHuaLi  阅读(5592)  评论(0编辑  收藏  举报