React 组件

UGNumberInput 数字输入

用于精确输入、键盘调整和按钮步进,覆盖边界、精度、严格步进、格式化与空值语义。

导入方式

按需从包入口导入组件,并在应用入口引入一次样式文件。

tsx
import { UGNumberInput } from '@ug666/ui-react'

基础与边界

达到最小值或最大值时,只禁用对应方向的控制按钮。

精度与严格步进

输入任意数字后,在提交时对齐步进并按指定精度输出。

控制器布局

默认控制器位于两侧,也可堆叠到右侧、替换图标或完全隐藏。

格式化与解析

格式只影响显示,parser 将用户输入还原为业务数值。

尺寸与状态

三种尺寸保持一致语义;只读、禁用和表单错误均有独立反馈。

原生表单与重置

格式化文本只负责显示;提交值始终是数值,原生 reset 恢复 defaultValue。

属性

属性类型默认值说明
value / defaultValuenumber | null— / 0受控值或非受控初始值;null 表示空值。
min / maxnumber限制提交值,并在边界禁用对应控制按钮。
stepnumber1按钮和方向键每次调整的数值。
precisionnumber根据 step 推断限制为 0 至 12 位,且不会低于 step 的有效小数位,支持科学计数法步长。
stepStrictlybooleanfalse将输入值对齐到以 min 或 0 为基准的步进网格。
controls / controlsPositionboolean / 'both' | 'right'true / 'both'隐藏控制器,或在两侧/右侧堆叠控制按钮。
readOnly / disabledbooleanfalse只读保留聚焦与复制;禁用停止全部交互。
valueOnClearnumber | nullnull输入被清空并提交时采用的值。
formatter / parser(number) => string / (string) => number | null— / Number显示格式与业务数值之间的双向转换。
decrementIcon / incrementIconReactNode内置图标覆盖减少与增加控制按钮的图标,不改变按钮语义。
size'sm' | 'default' | 'lg''default'控件尺寸,可继承 ConfigProvider。
onValueChange(value: number | null) => void输入或步进产生有效值时触发。
onValueCommit(value: number | null) => void失焦、Enter 或控制按钮提交后触发。
name / formstring以未格式化的业务数值参与原生表单提交,并支持外部表单关联。
原生属性InputHTMLAttributes透传 required、aria-*、autocomplete 等原生输入属性。