跳到主要内容

useForm属性

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

userForm 其它属性介绍​

1. 固定label标题的宽度​

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

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

labelCol、labelWidth效果一致,只用一种方法即可

2. 标题与字段布局​

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

2.1 效果及代码展示​

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

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

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

2.2 labelCol和wrapperCol 属性​

成员说明类型
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可动态更改属性

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

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

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

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个字段

fieldMapToNumber与fieldMapToTime用法一致,将表单内数值类型区域的值映射成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 个字段,见下方说明