Stepper 步进器
引入
通过以下方式来全局注册组件,更多注册方式请参考。
基础用法
通过 绑定输入值,可以通过 change
事件监听到输入值的变化。
<van-stepper v-model="value" />
import { ref } from 'vue';
export default {
setup() {
const value = ref(1);
return { value };
},
};
步长设置
通过 step
属性设置每次点击增加或减少按钮时变化的值,默认为 1
。
<van-stepper v-model="value" step="2" />
限制输入范围
通过 min
和 max
属性限制输入值的范围。
<van-stepper v-model="value" min="5" max="8" />
禁用状态
通过设置 disabled
属性来禁用步进器,禁用状态下无法点击按钮或修改输入框。
<van-stepper v-model="value" disabled />
禁用输入框
通过设置 disable-input
属性来禁用输入框,此时按钮仍然可以点击。
<van-stepper v-model="value" disable-input />
固定小数位数
通过设置 decimal-length
属性可以保留固定的小数位数。
<van-stepper v-model="value" step="0.2" :decimal-length="1" />
自定义大小
通过 input-width
属性设置输入框宽度,通过 button-size
属性设置按钮大小和输入框高度。
<van-stepper v-model="value" input-width="40px" button-size="32px" />
import { ref } from 'vue';
import { Toast } from 'vant';
export default {
setup() {
const beforeChange = (value) => {
Toast.loading({ forbidClick: true });
return new Promise((resolve) => {
setTimeout(() => {
Toast.clear();
// 在 resolve 函数中返回 true 或 false
resolve(true);
}, 500);
});
};
return {
value,
beforeChange,
};
},
};
圆角风格
将 theme
设置为 来展示圆角风格的步进器。
<van-stepper v-model="value" theme="round" button-size="22" disable-input />
Props
Events
类型定义
组件导出以下类型定义:
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 。
为什么 value 有时候会变成 string 类型?
这是因为用户输入过程中可能出现小数点或空值,比如 1.
,这种情况下组件会抛出字符串类型。
<van-stepper v-model.number="value" />