WXML
<view> <view>默认</view> <view> <view> <button bindtap="nextNum">-</button> <input type="number" value='{{number}}'></input> <button bindtap="prevNum">+</button> </view> </view> <view>限定最小值0,最大值10</view> <view> <view> <button bindtap="nextNum1" disabled='{{disabled1}}'>-</button> <input type="number" value='{{number1}}'></input> <button bindtap="prevNum1" disabled='{{disabled2}}'>+</button> </view> </view> </view>
WXSS
.tui-number-group{ display: table; table-layout: fixed; width: 300rpx; text-align: center; border-radius: 6px; border: 1px solid #bbb; overflow: hidden; } .tui-number-cell{ display: table-cell; line-height: 1.7; border-radius: 0; } button::after{ border-bottom: none; border-top: none; border-radius: 0; }
JS
Page({ data: { number: 1, number1: 5, disabled1: false, disabled2: false }, prevNum(){ this.setData({ number: this.data.number + 1 }); }, nextNum(){ this.setData({ number: this.data.number - 1 }); }, prevNum1() { this.setData({ number1: this.data.number1 >= 10 ? 10 : this.data.number1 + 1 , disabled1: this.data.number1 !== 0 ? false : true, disabled2: this.data.number1 !== 10 ? false : true }); }, nextNum1() { this.setData({ number1: this.data.number1 <= 0 ? 0 : this.data.number1 - 1 , disabled1: this.data.number1 !== 0 ? false : true, disabled2: this.data.number1 !== 10 ? false : true }); } })
注意
button组件的边框和圆角设置在button::after,需要对其重置。