# Stepper 步进器

步进器由增加按钮、减少按钮和输入框组成,用于在一定范围内输入、调整数字。

# 引入

import PressStepper from 'press-ui/press-stepper/press-stepper';

export default {
  components: {
    PressStepper,
  }
}

# 代码演示

# 基础用法

通过value设置输入值,可以通过change事件监听到输入值的变化。

<press-stepper :value="1" @change="onChange" />
export default {
  methods: {
    onChange(val) {
      console.log(val);
    },
  }
};

# 步长设置

通过step属性设置每次点击增加或减少按钮时变化的值,默认为1

<press-stepper :value="1" step="2" />

# 限制输入范围

通过minmax属性限制输入值的范围。

<press-stepper :value="5" min="5" max="8" />

# 限制输入整数

设置integer属性后,输入框将限制只能输入整数。

<press-stepper :value="1" integer />

# 禁用状态

通过设置disabled属性来禁用步进器,禁用状态下无法点击按钮或修改输入框。

<press-stepper :value="1" disabled />

# 关闭长按

通过设置long-press属性决定步进器是否开启长按手势。

<press-stepper :value="1" :long-press="false" />

# 固定小数位数

通过设置decimal-length属性可以保留固定的小数位数。

<press-stepper :value="1" step="0.2" :decimal-length="1" />

# 异步变更

如果需要异步地修改输入框的值,可以设置async-change属性,并在change事件中手动修改value

<press-stepper :value="value" async-change @change="onChange" />
export default {
  data() {
    return {
      value: 1,
    }
  },
  methods: {
    onChange(value) {
      setTimeout(() => {
        this.value = value;
      }, 500);
    }
  },
};

# 自定义大小

通过input-width属性设置输入框宽度,通过button-size属性设置按钮大小和输入框高度。

<press-stepper :value="1" input-width="40px" button-size="32px" />

# API

# Props

参数 说明 类型 默认值
name 在表单内提交时的标识符 string -
value 输入值 string | number 最小值
min 最小值 string | number 1
max 最大值 string | number -
step 步长 string | number 1
integer 是否只允许输入整数 boolean false
disabled 是否禁用 boolean false
disable-input 是否禁用输入框 boolean false
async-change 是否开启异步变更,开启后需要手动控制输入值 boolean false
input-width 输入框宽度,默认单位为 px string | number 32px
button-size 按钮大小,默认单位为 px,输入框高度会和按钮大小保持一致 string | number 28px
show-plus 是否显示增加按钮 boolean true
show-minus 是否显示减少按钮 boolean true
decimal-length 固定显示的小数位数 number -
theme 样式风格,可选值为 round string -
disable-plus 是否禁用增加按钮 boolean -
disable-minus 是否禁用减少按钮 boolean -
long-press 是否开启长按手势 boolean true
always-embed 强制 input 处于同层状态,默认 focus 时 input 会切到非同层状态 (仅在 iOS 下生效) boolean false
custom-class 根节点样式类 string -
input-class 输入框样式类 string -
plus-class 加号按钮样式类 string -
minus-class 减号按钮样式类 string -

# Events

事件名 说明 回调参数
change 当绑定值变化时触发的事件 event.detail: 当前输入的值
overlimit 点击不可用的按钮时触发 -
plus 点击增加按钮时触发 -
minus 点击减少按钮时触发 -
focus 输入框聚焦时触发 -
blur 输入框失焦时触发 -

# Slot

名称 说明
plus 加号按钮
minus 减号按钮

# 在线调试

横屏