# Stepper 步进器
# 使用指南
Component({
data: {
value: 1,
},
onChange(event) {
wx.showToast({
icon: 'none',
title: `当前值:${event.detail.value}`,
});
},
onChange1(event) {
setTimeout(() => {
this.setData({
value: event.detail.value,
});
}, 3000);
},
});
<view class="container">
<view>
基础用法
<tms-stepper value="{{ 2 }}" bind:on-change="onChange" />
</view>
<view>
步长设置
<tms-stepper value="{{ 1 }}" step="2" bind:on-change="onChange" />
</view>
<view>
限制输入范围
<tms-stepper value="{{ 5 }}" min="5" max="8" bind:on-change="onChange" />
</view>
<view>
只能输入整数
<tms-stepper value="{{ 1 }}" integer bind:on-change="onChange" />
</view>
<view>
禁用状态
<tms-stepper value="{{ 1 }}" disabled />
</view>
<view>
固定小数位数
<tms-stepper value="{{ 1 }}" step="0.2" decimal-length="{{ 1 }}" bind:on-change="onChange" />
</view>
<view>
自定义大小
<tms-stepper
value="{{ 1 }}"
buttonSize="30px"
input-width="40px"
button-size="32px"
bind:on-change="onChange"
/>
</view>
<view>
异步变更
<tms-stepper value="{{ value }}" async-change bind:on-change="onChange1" />
</view>
</view>
# 属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| name | 在表单内提交时的标识符 | String | — | — |
| value | 输入值 | Number | — | — |
| min | 最小值 | Number | — | 1 |
| max | 最大值 | Number | — | — |
| step | 步长 | Number | — | 1 |
| integer | 是否只允许输入整数 | Boolean | — | false |
| decimalLength | 固定显示的小数位数 | Number | — | — |
| inputWidth | 输入框宽度,默认单位为 px | String, Number | — | 72rpx |
| buttonSize | 按钮大小,默认单位为 px,输入框高度会和按钮大小保持一致 | String, Number | — | 52rpx |
| inputFontSize | 输入框字体大小 | String, Number | — | 30rpx |
| showPlus | 是否显示增加按钮 | Boolean | — | true |
| showMinus | 是否显示减少按钮 | Boolean | — | true |
| disabled | 是否禁用 | Boolean | — | false |
| disablePlus | 是否禁用增加按钮 | Boolean | — | false |
| disableMinus | 是否禁用减少按钮 | Boolean | — | false |
| asyncChange | 是否开启异步变更,开启后需要手动控制输入值 | Boolean | — | false |
| longPress | 是否开启长按手势 | Boolean | — | true |
# 事件
| 事件名 | 说明 | 参数 |
|---|---|---|
| bind:on-overlimit | 点击不可用的按钮时触发 | {type:'minus'} |
| bind:on-minus | 点击减少按钮时触发 | — |
| bind:on-plus | 点击增加按钮时触发 | — |
| bind:on-blur | 输入框失焦时触发 | 输入框的值 |
| bind:on-focus | 输入框聚焦时触发 | 输入框的值 |
| bind:on-change | 当绑定值变化时触发的事件 | 输入框的值 |
# CSS变量
// 计数器两侧按钮大小,加减号会相应改变大小
--stepper-btn-size: 52rpx;
// 计数器两侧按钮背景色
--stepper-background: #F4F6FA;
// 计数器两侧加减号颜色
--stepper-btn-color: #868C98;
// 计数器中间输入框文本颜色
--stepper-input-color: #333;
// 计数器输入框字体大小
--stepper-input-font-size: 30rpx;
// 计数器输入框宽度
--stepper-input-width: 72rpx;
