# 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;