Stepper 步进器

引入

通过以下方式来全局注册组件,更多注册方式请参考。

基础用法

通过 绑定输入值,可以通过 change 事件监听到输入值的变化。

  1. <van-stepper v-model="value" />
  1. import { ref } from 'vue';
  2. export default {
  3. setup() {
  4. const value = ref(1);
  5. return { value };
  6. },
  7. };

步长设置

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

  1. <van-stepper v-model="value" step="2" />

限制输入范围

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

  1. <van-stepper v-model="value" min="5" max="8" />

禁用状态

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

  1. <van-stepper v-model="value" disabled />

禁用输入框

通过设置 disable-input 属性来禁用输入框,此时按钮仍然可以点击。

  1. <van-stepper v-model="value" disable-input />

固定小数位数

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

  1. <van-stepper v-model="value" step="0.2" :decimal-length="1" />

自定义大小

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

  1. <van-stepper v-model="value" input-width="40px" button-size="32px" />
  1. import { ref } from 'vue';
  2. import { Toast } from 'vant';
  3. export default {
  4. setup() {
  5. const beforeChange = (value) => {
  6. Toast.loading({ forbidClick: true });
  7. return new Promise((resolve) => {
  8. setTimeout(() => {
  9. Toast.clear();
  10. // 在 resolve 函数中返回 true 或 false
  11. resolve(true);
  12. }, 500);
  13. });
  14. };
  15. return {
  16. value,
  17. beforeChange,
  18. };
  19. },
  20. };

圆角风格

theme 设置为 来展示圆角风格的步进器。

  1. <van-stepper v-model="value" theme="round" button-size="22" disable-input />

Props

Events

类型定义

组件导出以下类型定义:

    组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 。

    为什么 value 有时候会变成 string 类型?

    这是因为用户输入过程中可能出现小数点或空值,比如 1.,这种情况下组件会抛出字符串类型。

    1. <van-stepper v-model.number="value" />