InputNumber 数字输入
InputNumber 建在 Rue 当前的 Input 视觉壳层之上:保持 prefix、suffix、addon、状态和变体都还是同一套审美,但把数值输入真正需要的 formatter、parser、precision、步进按钮、键盘和滚轮能力一次覆盖。
何时使用
- 需要输入数量、金额、比例、库存、席位等明确数值,而不是自由文本。
- 希望同时支持键盘、按钮、滚轮和格式化展示,但不想退回浏览器原生 number input 的不可控体验。
- 希望在 Rue Input 的统一视觉下,把数字输入和 prefix、单位、告警状态、add-on 组合起来。
# Basic and bounds
基础数值输入、范围约束、无控件模式和禁用态。
Live summary
3
当前席位。步进时会同步输出交互来源,方便联动库存、价格或配额面板。
最近一次步进:等待操作
# Affixes and variants
复用 Rue Input 的前后缀、附加区、状态与变体。
¥ CNY
APR %
延迟 s
CPU %
# Formatter and parser
把展示层和数值层拆开,适合货币和百分比。
Raw value
¥ 12800
formatter 负责展示层,parser 负责回到数值层。这样可以在不使用原生 number input 的前提下,保持货币、百分比和本地化格式。
折扣后预算:¥ 11200
# Precision and stringMode
适合链上数量、高精度金额、手续费等需要字符串回传的场景。
BTC
Fee
$
String mode保持 4 位小数
$8080.86
适合高精度金额、链上数量、保证金比例等需要字符串回传的场景。
# Custom controls and wheel
支持替换控件图标,并区分来自按钮、键盘还是滚轮的步进来源。
QPS
ArrowUp / ArrowDownMouse WheelCustom Icons
120 QPS
聚焦输入框后可以直接滚轮增减,也可以复用业务自己的加减图标。
等待操作
# Sizes
使用 Rue Input 的尺寸体系,包括 large 别名。
xs
sm
md
lg
xl
large alias
API
InputNumber 直接复用了 Rue Input 的视觉 props,同时把数值行为语义补到了同一层。
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
value / defaultValue | 受控与非受控值,支持 number,也支持 stringMode 下的字符串值。 | number | string | null | - |
min / max | 数值上下界;配合 changeOnBlur 时会在失焦后自动归一化。 | number | string | MIN_SAFE_INTEGER / MAX_SAFE_INTEGER |
step | 每次加减的步长,支持整数与小数。 | number | string | 1 |
precision | 控制最终值的小数位数;步进和 blur 归一化都会遵守该精度。 | number | - |
stringMode | 改为字符串回传,适合高精度金额或链上数量。 | boolean | false |
formatter | 自定义展示格式,参数里会带上 userTyping 和当前 input 文本。 | (value, info) => string | - |
parser | 把 formatter 后的文本重新提取为数值,常用于货币、百分比和带单位输入。 | (input: string) => number | string | null | undefined | - |
controls | 是否展示上下步进按钮,也支持自定义 upIcon / downIcon。 | boolean | { upIcon?: any; downIcon?: any } | true |
keyboard | 是否启用 ArrowUp / ArrowDown 键盘步进。 | boolean | true |
changeOnWheel | 聚焦输入框后是否允许用鼠标滚轮调节数值。 | boolean | false |
changeOnBlur | 失焦后是否按 min / max 和 precision 做归一化。 | boolean | true |
prefix / suffix | 输入区内部前后缀,可与控件按钮共存。 | any | - |
addonBefore / addonAfter | 输入框两侧附加区,适合协议、单位、业务标签块。 | any | - |
variant / status / size / color | 直接复用 Rue Input 的视觉层能力。 | 与 Input 一致 | - |
allowClear | 使用 Rue Input 的清空按钮能力,清空后会回传 null。 | boolean | { clearIcon?: any } | false |
onChange | 数值变化时触发;stringMode 下返回字符串,否则返回 number;清空返回 null。 | (value: number | string | null) => void | - |
onStep | 点击控件、键盘或滚轮步进后触发,附带步进来源和偏移量。 | (value, info) => void | - |