• Vant React

Stepper 步进器

介绍

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

引入

import { Stepper } from "@taroify/core";

代码演示

基础用法

<Stepper />

步长设置

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

<Stepper step={2} />

限制输入范围

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

<Stepper min={5} max={8} />

禁用状态

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

<Stepper disabled />

禁用输入框

通过设置 Stepper.Input 组件的 disabled 属性来禁用输入框,此时按钮仍然可以点击。

<Stepper>
  <Stepper.Button />
  <Stepper.Input disabled />
  <Stepper.Button />
</Stepper>

固定小数位数

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

<Stepper precision={2} />

自定义大小

通过 Stepper.Input 组件的 width 属性设置输入框宽度,通过 size 属性设置按钮大小和输入框高度。

<Stepper size="32">
  <Stepper.Button />
  <Stepper.Input disabled width="40" />
  <Stepper.Button />
</Stepper>

圆角风格

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

<Stepper shape="circular" size="22" />

API

Stepper Props

参数说明类型默认值
defaultValue默认输入的值number | string-
value当前输入的值number | string-
min最小值number | string1
max最大值number | string-
step步长,每次点击时改变的值number | string1
size按钮大小以及输入框高度,默认单位为 pxnumber | string28px
precision固定显示的小数位数number | string-
shape样式风格,可选值为 square circularstringrounded
placeholder输入框占位提示文字string-
disabled是否禁用步进器booleanfalse
longPress是否开启长按手势booleantrue

Stepper.Input Props

参数说明类型默认值
width输入框宽度,默认单位为 pxnumber | string32px
disabled是否禁用输入框booleanfalse
cursor指定focus时的光标位置number-

Stepper.Button Props

参数说明类型默认值
disabled是否禁用按钮booleanfalse

Events

事件名说明回调参数
onChange当绑定值变化时触发的事件value: string

主题定制

样式变量

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

名称默认值描述
—stepper-active-background-color#e8e8e8-
—stepper-background-colorvar(—active-color)-
—stepper-input-width32px * $hd-
—stepper-input-height28px * $hd-
—stepper-input-margin0 2px * $hd-
—stepper-input-font-sizevar(—font-size-md)-
—stepper-input-line-heightnormal-
—stepper-input-colorvar(—text-color)-
—stepper-input-background-colorvar(—stepper-background-color)-
—stepper-input-disabled-colorvar(—gray-5)-
—stepper-input-disabled-background-colorvar(—active-color)-
—stepper-button-icon-colorvar(—text-color)-
—stepper-button-disabled-colorvar(—gray-5)-
—stepper-button-disabled-background-colorvar(—background-color)-
—stepper-rounded-button-border-radiusvar(—border-radius-md)-
—stepper-rounded-decrease-button-border-radiusvar(—stepper-rounded-button-border-radius)-
—stepper-rounded-increase-button-border-radiusvar(—stepper-rounded-button-border-radius)-
—stepper-circular-decrease-button-colorvar(—danger-color)-
—stepper-circular-decrease-button-background-colorvar(—white)-
—stepper-circular-decrease-button-border-colorvar(—danger-color)-
—stepper-circular-increase-button-colorvar(—white)-
—stepper-circular-increase-button-background-colorvar(—blue, $blue)-