我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示: 在宝贝详情页里:
在购物车里:
现在就为大家介绍这个小组件,在小程序中,该如何去写 下图为本项目的图:
wxml:
wxss:
/主容器/
.stepper {
width: 80px;
height: 26px;
/给主容器设一个边框/
border: 1px solid #ccc;
border-radius: 3px;
margin:0 auto;
}
.stepper {
width: 80px;
height: 26px;
/给主容器设一个边框/
border: 1px solid #ccc;
border-radius: 3px;
margin:0 auto;
}
/加号和减号/
.stepper text {
width: 19px;
line-height: 26px;
text-align: center;
float: left;
}
/数值/
.stepper input {
width: 40px;
height: 26px;
float: left;
margin: 0 auto;
text-align: center;
font-size: 12px;
/给中间的input设置左右边框即可/
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}
/普通样式/
.stepper .normal{
color: black;
}
/禁用样式/
.stepper .disabled{
color: #ccc;
}
js:
1) {
num --;
}
// 只有大于一件的时候,才能normal状态,否则disable状态
var minusStatus = num <= 1 ? 'disabled' : 'normal';
// 将数值与状态写回
this.setData({
num: num,minusStatus: minusStatus
});
},/* 点击加号 */
bindPlus: function() {
var num = this.data.num;
// 不作过多考虑自增1
num ++;
// 只有大于一件的时候,才能normal状态,否则disable状态
var minusStatus = num < 1 ? 'disabled' : 'normal';
// 将数值与状态写回
this.setData({
num: num,/* 输入框事件 */
bindManual: function(e) {
var num = e.detail.value;
// 将数值与状态写回
this.setData({
num: num
});
}
})
运行结果:
demo下载地址:数量加减