InputNumber 数字输入框

概述

使用鼠标或键盘输入一定范围的标准数值。

代码示例

InputNumber 数字输入框 - 图1

基础用法

可以通过输入、鼠标点击或键盘的上下键来改变数值大小。

  1. <template>
  2. <InputNumber :max="10" :min="1" v-model="value1"></InputNumber>
  3. </template>
  4. <script>
  5. export default {
  6. data () {
  7. return {
  8. value1: 1
  9. }
  10. }
  11. }
  12. </script>

InputNumber 数字输入框 - 图2

小数

通过设置step属性控制每次改变的精度。

  1. <template>
  2. <InputNumber :max="10" :min="1" :step="1.2" v-model="value2"></InputNumber>
  3. </template>
  4. <script>
  5. export default {
  6. data () {
  7. return {
  8. value2: 1
  9. }
  10. }
  11. }
  12. </script>

InputNumber 数字输入框 - 图3

格式化展示

通过 formatter 格式化数字,以展示具有具体含义的数据,往往需要配合 parser 一起使用。

  1. <template>
  2. <div>
  3. <InputNumber
  4. :max="10000"
  5. v-model="value9"
  6. :formatter="value => `$ ${value}`.replace(/B(?=(d{3})+(?!d))/g, ',')"
  7. :parser="value => value.replace(/$s?|(,*)/g, '')"></InputNumber>
  8. <InputNumber
  9. :max="100"
  10. v-model="value10"
  11. :formatter="value => `${value}%`"
  12. :parser="value => value.replace('%', '')"></InputNumber>
  13. </div>
  14. </template>
  15. <script>
  16. export default {
  17. data () {
  18. return {
  19. value9: 1000,
  20. value10: 100
  21. }
  22. }
  23. }
  24. </script>

InputNumber 数字输入框 - 图4

尺寸

通过设置size属性为largesmall将输入框设置为大和小尺寸,不设置为默认(中)尺寸。

  1. <template>
  2. <InputNumber v-model="value3" size="small"></InputNumber>
  3. <InputNumber v-model="value4"></InputNumber>
  4. <InputNumber v-model="value5" size="large"></InputNumber>
  5. </template>
  6. <script>
  7. export default {
  8. data () {
  9. return {
  10. value3: 2,
  11. value4: 2,
  12. value5: 2
  13. }
  14. }
  15. }
  16. </script>

InputNumber 数字输入框 - 图5

不可用

通过设置disabled属性禁用输入框,点击按钮切换状态。

  1. <template>
  2. <InputNumber v-model="value6" :disabled="disabled"></InputNumber>
  3. <Button type="primary" @click="disabled = !disabled">Toggle Disabled</Button>
  4. </template>
  5. <script>
  6. export default {
  7. data () {
  8. return {
  9. disabled: true,
  10. value6: 1
  11. }
  12. }
  13. }
  14. </script>

InputNumber 数字输入框 - 图6

只读

通过设置readonly属性开启只读。

  1. <template>
  2. <InputNumber v-model="value7" readonly></InputNumber>
  3. </template>
  4. <script>
  5. export default {
  6. data () {
  7. return {
  8. value7: 1
  9. }
  10. }
  11. }
  12. </script>

InputNumber 数字输入框 - 图7

不可编辑

通过设置editable属性控制是否能编辑。

  1. <template>
  2. <InputNumber v-model="value8" :editable="false"></InputNumber>
  3. </template>
  4. <script>
  5. export default {
  6. data () {
  7. return {
  8. value8: 1
  9. }
  10. }
  11. }
  12. </script>

API

InputNumber props

属性说明类型默认值
max最大值NumberInfinity
min最小值Number-Infinity
value当前值,可以使用 v-model 双向绑定数据Number1
step每次改变的步伐,可以是小数Number1
size输入框尺寸,可选值为largesmalldefault或者不填String-
disabled设置禁用状态Booleanfalse
placeholder占位文本String-
formatter指定输入框展示值的格式Function-
parser指定从 formatter 里转换回数字的方式,和 formatter 搭配使用Function-
readonly是否设置为只读Booleanfalse
editable是否可编辑Booleantrue
precision数值精度Number-
element-id给表单元素设置 id,详见 Form 用法。String-
active-change是否实时响应数据,设置为 false 时,只会在失焦时更改数据Booleantrue

InputNumber events

事件名说明返回值
on-change数值改变时的回调,返回当前值当前值
on-focus聚焦时触发event
on-blur失焦时触发-