Skip to content

Form 组件

表单组件,组件内置很多方法以及参数,比如联动,接口请求以及时间的处理等等。

基础用法

loading

API

Form Props

属性说明类型默认值
AntdV FromAntdV From 组件的属性FormProps{ labelAlign: 'right', layout: 'horizontal', colon: false }
initialValues预置字段默认值Object{}
labelWidth标签宽度 固定宽度[Number, String]100
FormSchema表单配置规则FormSchema[][]
mergeDynamicData默认数据,合并进 formDataObjectnull
baseRowStyle默认 row styleCSSPropertiesnull
rowProps栅栏Row配置RowPropsnull
baseColProps默认 col stylePartial<ColEx>{ span: 6 }
autoSubmitOnEnter在INPUT组件上单击回车时,是否自动提交Booleantrue
disabled禁用表单Booleanfalse
emptySpan表单结束后空 span 占位符Number0
fieldMapToTime处理时间段字段Objectnull
transformDateFunc转化时间字段Function(date: any) => { return date?.format?.('YYYY-MM-DD HH:mm:ss') ?? date; }
rulesMessageJoinLabel是否把 label 添加进校验信息Booleantrue
autoAdvancedLine超过 1 行自动折叠Number1
alwaysShowLines不受折叠影响的行数Number1
showActionButtonGroup是否显示操作按钮Booleantrue
actionColOptions操作列Col配置Partial<ColEx>null
showResetButton显示重置按钮Booleantrue
resetButtonOptions重置按钮配置同确认按钮null
showSubmitButton显示确认按钮Booleantrue
submitButtonOptions确认按钮配置Partial<ButtonProps> & { text?: string; class?: string }null
showAdvancedButton是否显示收起展开按钮Booleanfalse
resetFuncresetFuncFunctionnull
submitFunc自定义提交函数Functionnull
showAdvancedButtonBadge是否显示更多后的 徽标数Booleanfalse
advancedBadgeCount徽标数数字Number0
useMaxLengthRule是否使用默认的长度校验Booleantrue
formKeyformKeyNumber、StringformKey
scrollToError是否滑动到错误项Booleanfalse

FormSchema 参数

属性说明类型默认值
field字段名string-
changeEvent字段值改变触发方法stringchange
label标签名string-
helpMessage帮助信息string-
helpComponentProps帮助信息组件配置Partial<TooltipProps>-
labelWidth标签宽度string-
componentProps组件属性配置Partial<ComponentProps> | (opt: RenderCallbackParams<T>): ComponentProps-
componentSlots组件插槽(opt: RenderCallbackParams<T>) => Recordable<CustomRenderFn<T>> | Recordable<CustomRenderFn<T>>-
required是否必填boolean | ((renderCallbackParams: RenderCallbackParams<T>) => boolean)false
rules校验规则Rule[]-
rulesMessageJoinLabel是否把 label 添加进校验信息booleantrue
loading是否加载中booleanfalse
formItemPropsForm.Item 属性Partial<FormItemProps>-
colPropsCol 属性Partial<ColProps>-
order排序number-
defaultValue默认值any-
isAdvanced是否显示展开收起按钮booleantrue
labelFullWidth标签是否占满整行booleanfalse
span栅格占位格数number-
vShow是否显示(作用同v-show)boolean | ((renderCallbackParams: RenderCallbackParams<T>) => boolean)-
VIf是否显示(作用同v-if)boolean | ((renderCallbackParams: RenderCallbackParams<T>) => boolean)-
renderColContent自定义渲染 col 内容CustomRenderFn<T>-
noFormItemMarginBottom是否去掉 FormItem 的 margin-bottombooleanfalse
noLabelTip是否去掉 label 的 tooltipbooleanfalse
slot自定义渲染slot, 如 slot为 name, 在form的template标签中加入插槽 name ,就可以显示为这项的内容string-
colSlot自定义渲染col slotstring-
noLabel是否不显示labelbooleanfalse
dynamicDisabled动态禁用boolean | ((renderCallbackParams: RenderCallbackParams<T>) => boolean)-
useMaxLengthRule是否使用默认的长度校验(input 100 字符, textarea 200 字符)booleantrue
dynamicRules动态校验规则Rule[] | ((renderCallbackParams: RenderCallbackParams<T>) => RuleItem[])-

FormProps

属性说明类型默认值
AntV 表单项的属性都支持--
request组件异步请求数据RequestConfig-
requestResult请求结果any-
style组件样式CSSProperties-
vModelKey手动指定v-model绑定的keystring-
ts
// RequestConfig 类型
/** 组件异步请求配置 */
type RequestConfig =
  | PromiseFn<RenderCallbackParams, any>
  | {
      /** 指定监听的字段名, 当该字段值发生变化时会调用 callback */
      watchFields: string[];
      callback: PromiseFn<RenderCallbackParams, any>;
      options?: WatchOptions;
      /** debounce 请求防抖 */
      wait?: number;
    };

Events

事件名说明回调参数
register组件注册触发-
reset重置触发表单的值
submit提交触发表单的值
advancedChange展开收起变化触发-
formModelChange值发生改变触发表单的值

Methods

方法名说明参数返回值
setFormModel设置某个字段的值key 字段, value 值-
setFormModels设置formModel的值values 表单数据-
replaceFormModels替换formModel的值values 表单数据-
getFormModelByField获取某个字段的值key 字段value
delFormModel删除某个字段的值key 字段boolean
setFormProps设置表单配置Partial<FormProps>-
handleFormValues处理表单数据values 表单数据values 表单数据
handleRangeTimeValue处理时间范围values 表单数据values 表单数据
getFormValues获取表单数据-values 表单数据
setFieldsValue设置字段的值values 表单数据-
resetSchema重置表单values 表单数据-
removeAllSchema删除所有的 Schema{string、string[]} fields 排除的字段-
appendSchemaByField插入到指定 filed 后面,如果没传指定 field,则插入到最后,当 first = true 时插入到第一个位置schemaItem, prefixField ,first-
removeSchemaByFiled根据 field 删除 Schema{string、string[]} fields, isInclude 是否是field包含的字符串 默认falseboolean
getSchemaByFiled根据 field 查找 Schema{string、string[]} fields-
updateSchema更新formItemSchema{Partial<FormSchema> ,Partial<FormSchema>[]} data-
resetForm重置表单--
scrollToField滚动到指定表单项name 表单项的name , options 滚动配置-
validateFields校验表单nameList 校验指定的表单项-
validate校验整个表单-values 表单数据
clearValidate清除校验nameList 校验指定的表单项-
handleSubmit提交表单-Promise
handleEnterPress监听键盘事件e 事件 KeyboardEvent-

插槽

支持自定义渲染的插槽

名称说明
formHeader表头
formFooter表尾
default传入之后以传入的为主
advanceBefore展开图标之前
resetBefore重置按钮之前
submitBefore提交按钮之前
submitAfter提交按钮之后