- 组件总览
- 通用
- 布局
- 导航
- 数据录入
- 数据展示
- 反馈
- 其他
通过鼠标或键盘,输入范围内的数值。
当需要获取标准数值时。
通用属性参考:通用属性
参数 | 说明 | 类型 | 默认值 | 版本 |
---|---|---|---|---|
addonAfter | 带标签的 input,设置后置标签 | ReactNode | - | 4.17.0 |
addonBefore | 带标签的 input,设置前置标签 | ReactNode | - | 4.17.0 |
autoFocus | 自动获取焦点 | boolean | false | - |
bordered | 是否有边框 | boolean | true | 4.12.0 |
changeOnBlur | 是否在失去焦点时,触发 onChange 事件(例如值超出范围时,重新限制回范围并触发事件) | boolean | true | 5.11.0 |
controls | 是否显示增减按钮,也可设置自定义箭头图标 | boolean | { upIcon?: React.ReactNode; downIcon?: React.ReactNode; } | - | 4.19.0 |
decimalSeparator | 小数点 | string | - | - |
placeholder | 占位符 | string | - | |
defaultValue | 初始值 | number | - | - |
disabled | 禁用 | boolean | false | - |
formatter | 指定输入框展示值的格式 | function(value: number | string, info: { userTyping: boolean, input: string }): string | - | info: 4.17.0 |
keyboard | 是否启用键盘快捷行为 | boolean | true | 4.12.0 |
max | 最大值 | number | Number.MAX_SAFE_INTEGER | - |
min | 最小值 | number | Number.MIN_SAFE_INTEGER | - |
parser | 指定从 formatter 里转换回数字的方式,和 formatter 搭配使用 | function(string): number | - | - |
precision | 数值精度,配置 formatter 时会以 formatter 为准 | number | - | - |
readOnly | 只读 | boolean | false | - |
status | 设置校验状态 | 'error' | 'warning' | - | 4.19.0 |
prefix | 带有前缀图标的 input | ReactNode | - | 4.17.0 |
size | 输入框大小 | large | middle | small | - | - |
step | 每次改变步数,可以为小数 | number | string | 1 | - |
stringMode | 字符值模式,开启后支持高精度小数。同时 onChange 将返回 string 类型 | boolean | false | 4.13.0 |
value | 当前值 | number | - | - |
onChange | 变化回调 | function(value: number | string | null) | - | - |
onPressEnter | 按下回车的回调 | function(e) | - | - |
onStep | 点击上下箭头的回调 | (value: number, info: { offset: number, type: 'up' | 'down' }) => void | - | 4.7.0 |
名称 | 描述 |
---|---|
blur() | 移除焦点 |
focus() | 获取焦点 |
Token 名称 | 描述 | 类型 | 默认值 |
---|---|---|---|
activeBg | 输入框激活状态时背景颜色 | string | |
activeBorderColor | 激活态边框色 | string | #1677ff |
activeShadow | 激活态阴影 | string | 0 0 0 2px rgba(5, 145, 255, 0.1) |
addonBg | 前/后置标签背景色 | string | rgba(0, 0, 0, 0.02) |
controlWidth | 输入框宽度 | number | 90 |
errorActiveShadow | 错误状态时激活态阴影 | string | 0 0 0 2px rgba(255, 38, 5, 0.06) |
handleActiveBg | 操作按钮激活背景色 | string | rgba(0, 0, 0, 0.02) |
handleBg | 操作按钮背景色 | string | #ffffff |
handleBorderColor | 操作按钮边框颜色 | string | #d9d9d9 |
handleFontSize | 操作按钮图标大小 | number | 7 |
handleHoverColor | 操作按钮悬浮颜色 | string | #1677ff |
handleVisible | 操作按钮可见性 | true | "auto" | auto |
handleWidth | 操作按钮宽度 | number | 22 |
hoverBg | 输入框hover状态时背景颜色 | string | |
hoverBorderColor | 悬浮态边框色 | string | #4096ff |
paddingBlock | 输入框纵向内边距 | number | 4 |
paddingBlockLG | 大号输入框纵向内边距 | number | 7 |
paddingBlockSM | 小号输入框纵向内边距 | number | 0 |
paddingInline | 输入框横向内边距 | number | 11 |
paddingInlineLG | 大号输入框横向内边距 | number | 11 |
paddingInlineSM | 小号输入框横向内边距 | number | 7 |
warningActiveShadow | 警告状态时激活态阴影 | string | 0 0 0 2px rgba(255, 215, 5, 0.1) |
value
可以超出 min
和 max
范围?在受控模式下,开发者可能自行存储相关数据。如果组件将数据约束回范围内,会导致展示数据与实际存储数据不一致的情况。这使得一些如表单场景存在潜在的数据问题。
min
和 max
让 value
超出范围不会触发 onChange
事件?onChange
事件为用户触发事件,自行触发会导致表单库误以为变更来自用户操作。我们以错误样式展示超出范围的数值。
onBlur
等事件获取不到正确的 value?InputNumber 的值由内部逻辑封装而成,通过 onBlur
等事件获取的 event.target.value
仅为 DOM 元素的 value
而非 InputNumber 的实际值。例如通过 formatter
或者 decimalSeparator
更改展示格式,DOM 中得到的就是格式化后的字符串。你总是应该通过 onChange
获取当前值。