---
title: InputNumber - 数字输入框
order: 5
path: /inputNumber
nav:
  order: 1
  title: 桌面组件
  path: /design
group:
  order: 3
  title: 数据录入
  path: /dataInput
---

数字输入框由增加、减少按钮、数值输入组成。每次点击增加按钮（或减少按钮），数字增长（或减少）的量是恒定的。

## 双侧调整的数字输入框

已输入的值居中展示，用户可直接在输入框内修改数值，还可以使用输入框左右的箭头按钮增大或减小数值。

<code src="./demos/microAdjust.tsx" height="400px"/>

## 右侧调整数值的数字输入框

已输入的值居左展示，用户可直接在输入框内修改数值，还可以使用输入框右侧的箭头按钮增大或减小数值。

<code src="./demos/base.tsx" height="400px"/>

## 小数输入框

设置小数保留精度

<code src="./demos/miniNum.tsx" height="400px"/>

## 不同尺寸的输入框

提供 大、中（默认）、小 3 种数字输入框。

<code src="./demos/size.tsx" height="400px"/>

## 不同状态的输入框

除了禁用状态之外，提供正常、成功、警告、错误 4 种状态的输入框设置。

<code src="./demos/status.tsx" height="400px"/>

## 带单位的输入框

可以添加前缀和后缀的单位

<code src="./demos/withUnit.tsx" height="400px"/>

<!-- #### UI 规范

<code src="./demos/ui.tsx" height="400px"/> -->

## API

属性如下

| 成员               | 说明                                                                 | 类型                                                                                    | 默认值                                                                                                                              |
| ------------------ | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| addonAfter         | 带标签的 input，设置后置标签                                         | ReactNode                                                                               | -                                                                                                                                   |
| addonBefore        | 带标签的 input，设置前置标签                                         | ReactNode                                                                               | -                                                                                                                                   |
| autoFocus          | 自动获取焦点                                                         | boolean                                                                                 | false                                                                                                                               |
| bordered           | 是否有边框                                                           | boolean                                                                                 | true                                                                                                                                |
| controls           | 是否显示增减按钮，也可设置自定义箭头图标                             | boolean \| { upIcon?: React.ReactNode; downIcon?: React.ReactNode; }                    | -                                                                                                                                   |
| decimalSeparator   | 小数点                                                               | string                                                                                  | -                                                                                                                                   |
| defaultValue       | 初始值                                                               | number                                                                                  | -                                                                                                                                   |
| disabled           | 禁用                                                                 | boolean                                                                                 | false                                                                                                                               |
| formatter          | 指定输入框展示值的格式                                               | function(value: number \| string, info: { userTyping: boolean, input: string }): string | -                                                                                                                                   |
| keyboard           | 是否启用键盘快捷行为                                                 | boolean                                                                                 | true                                                                                                                                |
| max                | 最大值                                                               | number                                                                                  | [Number.MAX_SAFE_INTEGER](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER) |
| min                | 最小值                                                               | number                                                                                  | [Number.MIN_SAFE_INTEGER](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER) |
| parser             | 指定从 `formatter` 里转换回数字的方式，和 `formatter` 搭配使用       | function(string): number                                                                | -                                                                                                                                   |
| precision          | 数值精度，配置 `formatter` 时会以 `formatter` 为准                   | number                                                                                  | -                                                                                                                                   |
| readOnly           | 只读                                                                 | boolean                                                                                 | false                                                                                                                               |
| status             | 设置校验状态                                                         | 'error' \| 'warning'                                                                    | -                                                                                                                                   |
| prefix             | 带有前缀图标的 input                                                 | ReactNode                                                                               | -                                                                                                                                   |
| size               | 输入框大小                                                           | `large` \| `middle` \| `small`                                                          | -                                                                                                                                   |
| step               | 每次改变步数，可以为小数                                             | number \| string                                                                        | 1                                                                                                                                   |
| stringMode         | 字符值模式，开启后支持高精度小数。同时 `onChange` 将返回 string 类型 | boolean                                                                                 | false                                                                                                                               |
| value              | 当前值                                                               | number                                                                                  | -                                                                                                                                   |
| onChange           | 变化回调                                                             | function(value: number \| string \| null)                                               | -                                                                                                                                   |
| onPressEnter       | 按下回车的回调                                                       | function(e)                                                                             | -                                                                                                                                   |
| onStep             | 点击上下箭头的回调                                                   | (value: number, info: { offset: number, type: 'up' \| 'down' }) => void                 | -                                                                                                                                   |
| vertify(可选)      | 校验配置                                                             | [VertifyProps](#VertifyProps)                                                           | -                                                                                                                                   |
| controlsType(可选) | 步进器类型                                                           | `horizontal \| vertical`                                                                | vertical                                                                                                                            |

## VertifyProps

| 参数          | 说明     | 类型                          | 默认值 |
| ------------- | -------- | ----------------------------- | ------ |
| status(必填)  | 状态     | `success \| warning \| error` | -      |
| message(可选) | 提示消息 | `string`                      | -      |

## 方法

| 名称    | 描述     |
| ------- | -------- |
| blur()  | 移除焦点 |
| focus() | 获取焦点 |
