# InputNumber 数字输入框 ### 介绍 通过点击按钮控制数字增减。 ### 安装 ``` javascript import { createApp } from 'vue'; // vue import { InputNumber,Icon } from '@nutui/nutui'; // taro import { InputNumber,Icon } from '@nutui/nutui-taro'; const app = createApp(); app.use(InputNumber).use(Icon); ``` ## 代码演示 ### 基础用法 初始化一个默认值 ``` html ``` ``` javascript import { ref } from 'vue'; export default { setup() { const value = ref(1); return { value }; }, }; ``` ### 步长设置 设置步长 `step` 5 ```html ``` ### 限制输入范围 `min` 和 `max` 属性分别表示最小值和最大值 ```html ``` ### 禁用状态 `disabled` 禁用状态下无法点击按钮或修改输入框。 ```html ``` ### 只读禁用输入框 `readonly` 设置只读禁用输入框输入行为 ```html ``` ### 支持小数点 设置步长 `step` 0.1 `decimal-places` 小数保留1位 ```html ``` ### 支持异步修改 通过 `change` 事件和 `model-value` 进行异步修改 ```html ``` ``` javascript import { ref } from 'vue'; export default { setup() { const value = ref(1); const onChange = (value: number) => { setTimeout(() => { value.value = value; }, 2000); }; return { value,onChange }; }, }; ``` ### 自定义按钮大小 设置步长 `step` 0.1 `decimal-places` 小数保留1位 ```html ``` ## API ### Props | 参数 | 说明 | 类型 | 默认值 | |----------------|----------------------------|----------------|------------| | v-model | 初始值 | String、Number | - | | input-width | 输入框宽度 | String | `40px` | | button-size | 操作符+、-尺寸 | String | `20px` | | min | 最小值限制 | String、Number | `1` | | max | 最大值限制 | String、Number | `9999` | | step | 步长 | String、Number | `1` | | decimal-places | 设置保留的小数位 | String、Number | `0` | | disabled | 禁用所有功能 | Boolean | false | | readonly | 只读状态禁用输入框操作行为 | Boolean | false | ### Events | 事件名 | 说明 | 回调参数 | |-----------|------------------------|--------------------------------| | add | 点击增加按钮时触发 | event: Event | | reduce | 点击减少按钮时触发 | event: Event | | overlimit | 点击不可用的按钮时触发 | event: Event,type:string (reduce or add) | | change | 值改变时触发 | value: number , event : Event | | blur | 输入框失去焦点时触发 | event: Event | | focus | 输入框获得焦点时触发 | event: Event |