Props
所有属性都可以传入 useVbenForm 的第一个参数中。
| 属性名 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| layout | 表单项布局 | 'horizontal' | 'vertical'| 'inline' | horizontal |
| showCollapseButton | 是否显示折叠按钮 | boolean | false |
| wrapperClass | 表单的布局,基于tailwindcss | any | - |
| actionWrapperClass | 表单操作区域class | any | - |
| actionLayout | 表单操作按钮位置 | 'newLine' | 'rowEnd' | 'inline' | rowEnd |
| actionPosition | 表单操作按钮对齐方式 | 'left' | 'center' | 'right' | right |
| handleReset | 表单重置回调 | (values: Record<string, any>,) => Promise<void> | void | - |
| handleSubmit | 表单提交回调 | (values: Record<string, any>,) => Promise<void> | void | - |
| handleValuesChange | 表单值变化回调 | (values: Record<string, any>, fieldsChanged: string[]) => void | - |
| actionButtonsReverse | 调换操作按钮位置 | boolean | false |
| resetButtonOptions | 重置按钮组件参数 | ActionButtonOptions | - |
| submitButtonOptions | 提交按钮组件参数 | ActionButtonOptions | - |
| showDefaultActions | 是否显示默认操作按钮 | boolean | true |
| collapsed | 是否折叠,在showCollapseButton为true时生效 | boolean | false |
| collapseTriggerResize | 折叠时,触发resize事件 | boolean | false |
| collapsedRows | 折叠时保持的行数 | number | 1 |
| fieldMappingTime | 用于将表单内的数组值映射成 2 个字段 | [string, [string, string],Nullable<string>|[string,string]|((any,string)=>any)?][] | - |
| commonConfig | 表单项的通用配置,每个配置都会传递到每个表单项,表单项可覆盖 | FormCommonConfig | - |
| schema | 表单项的每一项配置 | FormSchema[] | - |
| submitOnEnter | 按下回车健时提交表单 | boolean | false |
| submitOnChange | 字段值改变时提交表单(内部防抖,这个属性一般用于表格的搜索表单) | boolean | false |
| compact | 是否紧凑模式(忽略为校验信息所预留的空间) | boolean | false |
| scrollToFirstError | 表单验证失败时是否自动滚动到第一个错误字段 | boolean | false |
handleValuesChange
handleValuesChange 回调函数的第一个参数values装载了表单改变后的当前值对象,第二个参数fieldsChanged是一个数组,包含了所有被改变的字段名。注意:第二个参数仅在v5.5.4(不含)以上版本可用,并且传递的是已在schema中定义的字段名。如果你使用了字段映射并且需要检查是哪些字段发生了变化的话,请注意该参数并不会包含映射后的字段名。
fieldMappingTime
此属性用于将表单内的数组值映射成 2 个字段,它应当传入一个数组,数组的每一项是一个映射规则,规则的第一个成员是一个字符串,表示需要映射的字段名,第二个成员是一个数组,表示映射后的字段名,第三个成员是一个可选的格式掩码,用于格式化日期时间字段;也可以提供一个格式化函数(参数分别为当前值和当前字段名,返回格式化后的值)。如果明确地将格式掩码设为null,则原值映射而不进行格式化(适用于非日期时间字段)。例如:[['timeRange', ['startTime', 'endTime'], 'YYYY-MM-DD']],timeRange应当是一个至少具有2个成员的数组类型的值。Form会将timeRange的值前两个值分别按照格式掩码YYYY-MM-DD格式化后映射到startTime和endTime字段上。每一项的第三个参数是一个可选的格式掩码,


