Skip to content

Stepper 步进器

查看 sn-stepper 的 2.0 版本差异

基础用法

  • 由减按钮、数值输入框、加按钮组成的步进器,点击按钮或直接输入均可改变数值,v-model 双向绑定当前值。
  • 支持范围与步长(min / max / stepstep 支持小数)、长按连续增减(longpress)、禁用输入(disable-input)与整体禁用(disabled)。
  • 输入框失焦或点键盘确认时提交输入:非法输入恢复为当前值,合法输入自动夹取到 [min, max] 并按 step 小数位格式化。
vue
<template>
	<sn-stepper v-model="value"></sn-stepper>
</template>

<script lang="uts" setup>
const value = ref<number>(0)
</script>

更多演示请下载 demo 查看

范围与步长

step 为小数时输入框自动切换为小数键盘,并按小数位数格式化显示;max 不设置(默认 NaN)表示无上限:

vue
<template>
	<sn-stepper v-model="value" :min="5" :max="25" :step="5"></sn-stepper>
	<sn-stepper v-model="value2" :min="0" :max="10" :step="0.5"></sn-stepper>
</template>

长按连续增减

longpress 默认开启:按住按钮 500ms 后开始连续增减(每 100ms 一步),到达边界自动停止:

vue
<template>
	<sn-stepper v-model="value" :max="50"></sn-stepper>
</template>

属性

参数说明类型默认值可选值
v-model绑定当前值Number0-
size按钮(及输入框)边长String | Number30px-
spacing按钮与输入框之间的间距String | Number2px-
inputWidth输入框宽度String | Number50px-
textSize文本大小String | Number$14-
textColor按钮符号与输入框文本颜色String$text任意色值或 $ 主题色简写
inputTextColor输入框文本颜色,留空时取 textColorString''任意色值或 $ 主题色简写
disabledTextColor禁用状态文本颜色String$disabledText任意色值或 $ 主题色简写
inputBgColor输入框背景颜色String$info任意色值或 $ 主题色简写
inputActiveBgColor输入框聚焦激活背景颜色String$info任意色值或 $ 主题色简写
disabledBgColor禁用状态输入框背景颜色,留空时取禁用色String''任意色值或 $ 主题色简写
buttonBgColor按钮背景颜色,留空时为描边样式按钮String''任意色值或 $ 主题色简写
borderRadius按钮、输入框圆角String | Number$8-
min最小值Number0-
max最大值,NaN 表示无上限NumberNaN-
step步长(支持小数,显示按其小数位格式化)Number1-
longpress是否开启长按连续增减Booleantruetrue | false
disableInput是否禁用输入框(仅能通过按钮增减)Booleanfalsetrue | false
disabled是否禁用整个步进器Booleanfalsetrue | false
placeholder输入框占位文本String''-
maxlength输入框最大输入长度,-1 表示不限制String | Number-1-
showBorder输入框是否显示边框Booleanfalsetrue | false
borderColor输入框边框颜色String''任意色值或 $ 主题色简写
activeBorderColor输入框激活状态边框颜色String''任意色值或 $ 主题色简写
borderWidth输入框边框宽度String | Number2-
textFont输入框文本字体String''-
cursorColor输入框光标颜色String''任意色值或 $ 主题色简写
customStyle根节点自定义样式UTSJSONObject | String''-

尺寸类属性支持 $ 前缀动态尺寸(乘对应乘数)。

事件

名称类型说明
change(value: Number) => Void数值变化时触发,携带新值(按钮点击、长按连续增减、输入提交均会触发)

使用 MIT 协议