跳到主要内容

useForm属性

useForm 中存在一些方法和属性,例如“固定标题长度”、“获取表单值”、“清空表单验证”等

userForm 其它属性介绍

1. 固定label标题的宽度

通过labelCol或者labelWidth来控制标题的宽度

“姓名、年龄”左侧的距离,就是标题所占的宽度

labelCollabelWidth效果一致,只用一种方法即可

2. 标题与字段布局

通过userForm中的参数labelColwrapperCol可以实现自适应宽度

2.1 效果及代码展示

页面宽度大于1200px时的展示效果

页面小于576px时的展示效果

响应式布局用法,其他参数请参考2.2 labelCol和wrapperCol参数

2.2 labelColwrapperCol 属性

成员说明类型
flexflex 布局填充string
offset栅格左侧的间隔格数,默认值为0number
order栅格顺序,flex 布局模式下有效,默认值为0number
pull栅格向左移动格数,默认值为0number
push栅格向右移动格数,默认值为0number
span栅格占位格数,为 0 时相当于 display: nonenumber
xs<576px 响应式栅格number
sm≥576px 响应式栅格number
md≥768px 响应式栅格number
lg≥992px 响应式栅格number
xl≥1200px 响应式栅格number
xxl≥1600px 响应式栅格number

3. 表单布局

  • 表单有两种不同的布局方式,我们可以通过参数layout改变表单布局。

layout属性支持vertical(标题在上,组件在下),horizontal(左侧为标题,右侧为组件)

  • 布局为vertical时的效果

  • 布局为horizontal时的效果

  • 代码示例

4. 操作按钮

  • 场景一:不需要按钮的时候,将按钮隐藏。
  • 场景二:自定义操作按钮并处理自己的逻辑
  • 不需要按钮的时候,将按钮隐藏。

查询按钮和重置按钮都存在

隐藏查询按钮

隐藏重置按钮

通过useForm hook里面的setProps可动态更改属性

  • 自定义操作按钮并处理自己的逻辑

查询按钮、重置按钮自定义事件

通过submitFuncresetFunc 来自定义操作按钮点击后的逻辑

5. 表单大小、收缩、文本聚焦、禁用

默认聚焦“来访人员”,input框为蓝色

表单最大展示效果

表单禁用效果

表单紧凑展示效果

通过useForm hook里面的setProps可动态更改属性

6. 表单验证与清空验证

触发表单验证

清空表单验证

只验证来访人员

只清空来访人员验证

通过useForm hook里面的方法可以实现验证全部或者取消验证所有不满足的组件

7. 表单值操作

  • ① 获取所有字段值
  • ② 表单验证通过后获取所有字段值
  • ③ 表单验visitor来访人员通过后获取的值

清空表单值

更新表单值

通过useForm hook里面的方法,可以获取、更新、清空值操作

8. 动态更新/重置字段属性

正常

触发更新字段属性

触发重置字段属性,注意重置字段属性会将schemas对应的字段全部删除,在添加您配置的字段属性

通过useForm hook里面的方法,可以动态更新、重置字段值

9. 动态增减表单项

动态增加、减少表单项。

效果1

效果2

通过useForm hook里面的方法,可以动态增加、减少表单项

10. 自定义表单顶部区域和底部区域

  • 当底部按钮不满足需求时,可以自定义底部区域。
  • 例:在员工档案中,我们存在保存、保存草稿、重置

使用插槽formHeader(自定义表单头部区域)、formFooter(自定义表单底部区域)

11. 弹出层中的表单

组件中用到了BasicModal

BasicModal弹窗

12. 查询区域

默认显示两行,超过两行折叠,并且显示展开收起按钮

fieldMapToTime: 将表单内时间区域的值映射成 2个字段

fieldMapToNumberfieldMapToTime用法一致,将表单内数值类型区域的值映射成2个字段

useForm api属性

属性类型默认值可选值说明版本
schemasSchema[]--表单配置,见BasicForm 中的schemas 介绍
submitOnResetbooleanfalse-重置时是否提交表单
labelColPartial<ColEx>--整个表单通用 LabelCol 配置
wrapperColPartial <ColEx>--整个表单通用 wrapperCol 配置
baseColPropsPartial <ColEx>--配置所有选子项的 ColProps,不需要逐个配置,子项也可单独配置优先与全局
labelWidthnumber , string--扩展 form 组件,增加 label 宽度,表单内所有组件适用,可以单独在某个项覆盖或者禁用
labelAlignstring-left,rightlabel 布局
mergeDynamicDataobject--额外传递到子组件的参数 values
autoFocusFirstItembooleanfalse-是否聚焦第一个输入框,只在第一个表单项为 input 的时候作用
compactbooleanfalsetrue/false紧凑类型表单,减少 margin-bottom
sizestringdefault'default' , 'small' , 'large'向表单内所有组件传递 size 参数,自定义组件需自行实现 size 接收
disabledbooleanfalsetrue/false向表单内所有组件传递 disabled 属性,自定义组件需自行实现 disabled 接收
autoSetPlaceHolderbooleantruetrue/false自动设置表单内组件的 placeholder,自定义组件需自行实现
autoSubmitOnEnterbooleanfalsetrue/false在input中输入时按回车自动提交
rulesMessageJoinLabelbooleanfalsetrue/false如果表单项有校验,会自动生成校验信息,该参数控制是否将字段中文名字拼接到自动生成的信息后方
showAdvancedButtonbooleanfalsetrue/false是否显示收起展开按钮
emptySpannumber , Partial<ColEx>0-空白行格,可以是数值或者 col 对象 数
autoAdvancedColnumber3-如果 showAdvancedButton 为 true,超过指定列数行默认折叠
alwaysShowLinesnumber1-折叠时始终保持显示的行数
showActionButtonGroupbooleantruetrue/false是否显示操作按钮组(查询/重置/展开/关闭)
actionColOptionsPartial<ColEx>--操作按钮外层 Col 组件配置,如果开启 showAdvancedButton,则不用设置,具体见下方 actionColOptions
showResetButtonbooleantrue-是否显示重置按钮
resetButtonOptionsobject-重置按钮配置ActionButtonOption
showSubmitButtonbooleantrue-是否显示提交按钮
submitButtonOptionsobject-确认按钮配置ActionButtonOption
resetFunc() => Promise<void>-自定义重置按钮逻辑() => Promise<void>;
submitFunc() => Promise<void>-自定义提交按钮逻辑() => Promise<void>;
fieldMapToTime[string, [string, string], string?][]-用于将表单内时间区域的应设成 2 个字段,见下方说明