Skip to content

InputNumber 数字输入框

仅允许输入标准的数字值,可定义范围,允许设置步长,支持设置精度。

基础用法

输入框只能输入数字,支持键盘上下键增减。

当前值: 1
vue
<template>
  <x-input-number v-model="value" />
</template>

<script setup>
import { ref } from 'vue'
const value = ref(1)
</script>

禁用状态

vue
<template>
  <x-input-number v-model="value" disabled />
</template>

步数

设置 step 属性控制每次增减的数值。

步长: 2
vue
<template>
  <x-input-number v-model="value" :step="2" />
</template>

严格步数

使用 step-strictly 属性后,输入值只能是步数的倍数。

只能是 2 的倍数
vue
<template>
  <x-input-number v-model="value" :step="2" step-strictly />
</template>

精度

设置 precision 属性控制小数精度。

精度: 2 位小数
vue
<template>
  <x-input-number v-model="value" :precision="2" :step="0.1" />
</template>

限制范围

设置 minmax 属性限制数值范围。

范围: 1-10
vue
<template>
  <x-input-number v-model="value" :min="1" :max="10" />
</template>

不同尺寸

提供三种尺寸:largedefaultsmall

vue
<template>
  <x-input-number v-model="value" size="large" />
  <x-input-number v-model="value" />
  <x-input-number v-model="value" size="small" />
</template>

按钮位置

设置 controls-position="right" 使增减按钮垂直排列在右侧。

vue
<template>
  <x-input-number v-model="value" controls-position="right" />
</template>

无按钮

设置 controls="false" 隐藏增减按钮。

vue
<template>
  <x-input-number v-model="value" :controls="false" placeholder="请输入数字" />
</template>

键盘操作

  • / :增加 / 减少
  • Enter:确认输入

API

Props

属性说明类型默认值
modelValue绑定值number
min最小值number-Infinity
max最大值numberInfinity
step步长number1
stepStrictly是否只能输入步数的倍数booleanfalse
precision数值精度(小数位数)number
size输入框尺寸'large' | 'default' | 'small''default'
disabled是否禁用booleanfalse
controls是否显示增减按钮booleantrue
controlsPosition按钮位置'' | 'right'''
placeholder占位文本string
valueOnClear清空时的默认值number | nullnull

Events

事件名说明回调参数
update:modelValue值改变时触发(value: number | undefined)
change值改变且失焦后触发(currentValue, oldValue)
focus获得焦点时触发(event: FocusEvent)
blur失去焦点时触发(event: FocusEvent)

Methods

方法名说明参数
focus使输入框获取焦点
blur使输入框失去焦点
clear清空输入值
increase增加值
decrease减少值

基于 MIT 许可发布