跳至正文

Number field

带步进按钮的数字输入框。

浏览器
Chrome 123+Firefox 121+Safari 17.5+
层级
1
压缩后大小
2.45 kB
强制布局预算
0 ms
axe 预算
0
支持 SSR
是
公开契约
测试环境

交互示例

Number Field

默认

API

NumberField.Root

属性类型默认值说明
valuenumber—当前数字,使字段受控。
defaultValuenumber—非受控字段的初始数字。
onValueChange(value: number | undefined) => void—使用解析后的数字调用;输入为空时为undefined。
minnumber—接受的最小值。
maxnumber—接受的最大值。
stepnumber1递增和递减按钮每次增加或减少的量。
formatOptionsIntl.NumberFormatOptions—用于显示值的Intl.NumberFormat选项。
clampValueOnBlurbooleantrue输入框失去焦点时,将越界值拉回min和max范围内。
disabledbooleanfalse禁用输入框及两个步进按钮。
readOnlybooleanfalse使值只读,同时保留输入框的可聚焦性。
requiredbooleanfalse将输入框标为必填,用于表单校验。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

NumberField.Group

属性类型默认值说明
childrenReactNode—由组包裹的输入框和步进按钮。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

NumberField.Input

属性类型默认值说明
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

NumberField.Increment

属性类型默认值说明
childrenReactNode—递增按钮的内容。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

NumberField.Decrement

属性类型默认值说明
childrenReactNode—递减按钮的内容。
renderReactElement | ((props, state) => ReactElement)—替换渲染元素,同时保留行为和无障碍连接关系。

键盘

按键操作
Tab将焦点移入或移出控件
Enter / Space获得焦点时激活(按钮类控件)

无障碍

尽可能使用语义化HTML。可在交互示例中检查渲染的标记;仅在原生元素无法满足需求时添加ARIA。

样式钩子

data-uiify-number-fielddata-disabled