Skip to content

Stepper 步进器

介绍

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

导入

js
import Stepper from '@/components/form/Stepper.vue';

使用方法

基础用法

步进器的基础使用方式。

vue
<template>
  <Stepper v-model="value" />
</template>

<script setup lang="ts">
import Stepper from '@/components/form/Stepper.vue';
import { ref } from 'vue';

const value = ref(1);
</script>

步长设置

通过设置 step 属性来控制每次点击增加或减少按钮时的变化值。

vue
<template>
  <Stepper v-model="value" :step="3" />
</template>

<script setup lang="ts">
import Stepper from '@/components/form/Stepper.vue';
import { ref } from 'vue';

const value = ref(1);
</script>

限制输入范围

通过设置 max 属性来限制最大值。

vue
<template>
  <Stepper v-model="value" :max="10" />
</template>

限制输入整数

通过设置 integer 属性来限制只能输入整数。

vue
<template>
  <Stepper v-model="value" integer />
</template>

禁用状态

通过设置 disabled 属性来禁用步进器。

vue
<template>
  <Stepper v-model="value" disabled />
</template>

禁用输入框

通过设置 disableInput 属性来禁用输入框,但仍可点击按钮调整数值。

vue
<template>
  <Stepper v-model="value" disableInput />
</template>

固定小数位数

通过设置 decimalLength 属性来固定显示的小数位数。

vue
<template>
  <Stepper v-model="value" :decimalLength="1" :step="0.1" />
</template>

不同大小的步进器

通过设置 size 属性来调整步进器的大小。

vue
<template>
  <FlexCol gap="10">
    <Stepper v-model="value" size="small" />
    <Stepper v-model="value" size="medium" />
    <Stepper v-model="value" size="large" />
  </FlexCol>
</template>

<script setup lang="ts">
import Stepper from '@/components/form/Stepper.vue';
import FlexCol from '@/components/layout/FlexCol.vue';
import { ref } from 'vue';

const value = ref(1);
</script>

API 参考

Stepper

步进器组件。

Props

名称说明类型必填默认值
v-model当前数值number0
max最大值,为空无限制numberundefined
min最小值number1
inputWidth中间输入框的宽度number100
size组件大小'small' | 'medium' | 'large''medium'
step步长,每次点击时改变的值number1
defaultValue初始值,当 value 为空时生效number0
decimalLength固定显示的小数位数number0
disabled是否禁用booleanfalse
disableInput是否禁用输入框booleanfalse
integer是否只允许输入整数booleanfalse
textColor输入框的文本颜色string-
placeholder输入框的占位符string-
placeholderTextColor输入框的占位符颜色string-
addIcon加号图标名称string'add-bold'
minusIcon减号图标名称string'minus-bold'

Slots

名称说明
minus自定义减号按钮,参数为 { disabled, onClick }
center自定义中间输入区域,参数为 { disableInput, value, integer, onChangeText, onBlur, editable }
add自定义加号按钮,参数为 { disabled, onClick }

Events

名称说明参数
update:modelValue数值变化时触发number

主题变量

名称类型默认值说明
StepperInputWidthnumber100输入框宽度
StepperButtonBorderRadiusnumber0按钮边框圆角
StepperButtonBackgroundColorstringlight按钮背景颜色
StepperButtonPaddingVerticalnumber8按钮垂直内边距
StepperButtonPaddingHorizontalnumber8按钮水平内边距
StepperInputBackgroundColorstringlight输入框背景颜色
StepperInputPaddingVerticalnumber0输入框垂直内边距
StepperInputPaddingHorizontalnumber10输入框水平内边距
StepperInputMarginHorizontalnumber4输入框水平外边距
StepperInputMarginVerticalnumber0输入框垂直外边距
StepperInputTextColorstringtext.content输入框文本颜色
StepperIconSizeSmallnumber24小号图标大小
StepperIconSizeMediumnumber36中号图标大小
StepperIconSizeLargenumber48大号图标大小
StepperAddIconstringadd-bold加号图标名称
StepperMinusIconstringminus-bold减号图标名称