<Form>
一个适用于 ReactLynx 的无样式表单组件,提供表单上下文和收集字段值的提交基础能力。
基础用法
使用 <Form> 来管理表单状态、处理表单验证和提交
使输入框抬起以避让键盘
通过自动调整视图来防止屏幕键盘遮挡输入框
结构
API
FormRoot
childreniOSAndroidHarmony
表单内容
initialValuesiOSAndroidHarmony
表单字段的初始值
onChangediOSAndroidHarmony
任意字段值变化时触发的回调函数,接收整个表单的数据
onSubmitiOSAndroidHarmony
表单提交时触发的回调函数
FormField
asiOSAndroidHarmony
指定渲染的组件类型
childreniOSAndroidHarmony
表单字段的子节点,通常用于标签或复杂结构
classNameiOSAndroidHarmony
类名
confirmTypeiOSAndroidHarmony
输入框确认按钮类型
idiOSAndroidHarmony
输入框 id
inputFilteriOSAndroidHarmony
输入框内容过滤正则表达式
maxLengthiOSAndroidHarmony
输入框最大长度
nameiOSAndroidHarmony
表单字段的唯一标识符
onBluriOSAndroidHarmony
输入框失焦事件
onChangediOSAndroidHarmony
当前字段值变化时触发的回调函数
onConfirmiOSAndroidHarmony
输入框确认按钮点击事件
onFocusiOSAndroidHarmony
输入框聚焦事件
onSelectionChangeiOSAndroidHarmony
输入框选择范围改变事件
placeholderiOSAndroidHarmony
输入框占位符
readonlyiOSAndroidHarmony
输入框是否可交互
ref
showSoftInputOnFocusiOSAndroidHarmony
输入框是否聚焦时显示软键盘
styleiOSAndroidHarmony
样式
typeiOSAndroidHarmony
输入框内容类型
disablediOSAndroidHarmony
如果设置为 true,RadioGroup 将不能接受交互。
checkboxPropsiOSAndroid
Checkbox 支持将原始视图属性直接展开到这个属性中。
indeterminateiOSAndroid
是否为不确定状态。
bouncesiOS
输入框是否开启 iOS bounces 效果
lineSpacingiOSAndroid
输入框行间距
maxLinesiOSAndroidHarmony
输入框最大输入行数
switchPropsiOSAndroid
Switch 支持将原始视图属性直接展开到这个属性中。
FormSubmitButton
buttonPropsiOSAndroidHarmony
按钮支持将原始视图属性直接展开到这个属性中。
classNameiOSAndroidHarmony
类名
disablediOSAndroidHarmony
决定按钮是否被禁用。
onSubmitiOSAndroidHarmony
提交按钮点击后,在表单内部提交逻辑执行后触发的回调函数
styleiOSAndroidHarmony
样式
childreniOSAndroidHarmony
子组件
基于状态的样式与渲染
该组件将每一项内部状态通过两条等价通道同时对外暴露,下表逐行给出两者的对应关系:
- CSS className:根节点上会动态加上
ui-<state>形式的类名,可直接用.ui-<state> { ... }选择器定制样式; - Render-prop 字段:当
children传入函数时,同一个状态会以children({ <state>: boolean, ... })的形式作为参数传入,便于在运行时做条件渲染。
ui-active
按钮当前是否处于按下态(且未被禁用)。
当 status.active 为 true 时生效,可用于 `.ui-active { ... }`。
ui-disabled
按钮是否处于禁用态。
当 status.disabled 为 true 时生效,可用于 `.ui-disabled { ... }`。