Stepper 步进器
介绍
步进器由增加按钮、减少按钮和输入框组成,用于在一定范围内输入、调整数字。
引入
ts
import { IBestStepper } from "@ibestservices/ibest-ui";
代码演示
基础用法
TIP
通过 defaultValue
设置默认输入值,可以通过 onChange
事件监听到输入值的变化。
点我查看代码
ts
IBestStepper({
onChange(val) {
console.log("触发变化了", val);
},
});
步长设置
TIP
通过 step
属性设置每次点击增加或减少按钮时变化的值,默认为 1
。
点我查看代码
ts
IBestStepper({
step: 2,
});
限制输入范围
TIP
通过 min
和 max
属性限制输入值的范围,默认超出范围后会自动校正最大值或最小值,通过 autoFixed
可以关闭自动校正。
点我查看代码
ts
IBestStepper({
defaultValue: 5,
min: 5,
max: 8,
});
限制输入整数
TIP
设置 integer
属性后,输入框将限制只能输入整数。
点我查看代码
ts
IBestStepper({
integer: true,
});
禁用状态
TIP
通过设置 disabled
属性来禁用步进器,禁用状态下无法点击按钮或修改输入框。
点我查看代码
ts
IBestStepper({
disabled: true,
});
禁用输入框
TIP
通过设置 disableInput
属性来禁用输入框,此时按钮仍然可以点击。
点我查看代码
ts
IBestStepper({
disableInput: true,
});
固定小数位数
TIP
通过设置 decimalLength
属性可以保留固定的小数位数。
点我查看代码
ts
IBestStepper({
defaultValue: 14,
step: 0.2,
decimalLength: 1,
});
自定义大小
TIP
通过 input-width
属性设置输入框宽度,通过 button-size
属性设置按钮大小和输入框高度。
点我查看代码
ts
IBestStepper({
inputWidth: 40,
buttonSize: 32,
});
API
@Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
min | 最小值 | string | number | 1 |
max | 最大值 | string | number | Infinity |
autoFixed | 是否自动校正超出限制范围的数值 | boolean | true |
defaultValue | 展示的默认值 | string | number | 1 |
step | 步长,每次点击时改变的值 | number | string | 1 |
inputWidth | 输入框宽度 | number | string | 32 |
buttonSize | 按钮大小以及输入框高度 | number | string | 27 |
decimalLength | 固定显示的小数位数 | number | string | 0 |
integer | 是否只允许输入整数 | boolean | false |
disabled | 是否禁用步进器 | boolean | false |
disablePlus | 是否禁用增加按 | boolean | false |
disableMinus | 是否禁用减少按钮 | boolean | false |
disableInput | 是否禁用输入框 | boolean | false |
showPlus | 是否显示增加按钮 | boolean | true |
showMinus | 是否显示减少按钮 | boolean | true |
showInput | 是否显示输入框 | boolean | true |
longPress | 是否开启长按手势,开启后可以长按增加和减少按钮 | boolean | true |
validateTime | 多少毫秒触发自动校验修正,为 0 时不修正,单位 ms | number | 1000 |
iconSize | 输入框中图标的宽度 | number | string | 20 |
buttonRadius | 按钮的圆角 | number | string | 2 |
Events
事件名 | 说明 | 事件类型 |
---|---|---|
onChange | 当值变化时触发的事件 | (val: string|number) => void |
onPlus | 点击增加按钮时触发 | () => void |
onMinus | 点击较少按钮时触发 | () => void |
常见问题
为什么 value 有时候会变成 string 类型?
这是因为用户输入过程中可能出现小数点或空值,比如 1.
,这种情况下组件会抛出字符串类型。 如果希望 value 保持 number 类型,可以在 onChange
回调中手动转换。