Skip to content

ProForm 高级表单

基本使用

Props

其余 el-form 属性会被继承

属性说明类型默认值
fieldsSchema JsonFormSchema[][]
model表单值Record<string, any>{}
enableEffect是否开启 effect 事件,开启后表单值变化将触发 @effect事件(values: Record<string, any>)=> boolean

fields 配置

属性说明类型可选值默认值
label标题string
el组件名称 , 组件实例,html 标签Component |string
key唯一 key 值string
attrsv-bindRecord<string, any>text
eventsv-onRecord<string, any>
col栅格布局
tiptooltip 提示string
required是否必填boolean
requiredMessage必填验证提示boolean
show是否显示boolean |((value: any, values: Record<string, any>) => boolean)False

Type FormSchema

ts
export interface FormSchema extends Partial<Pick<FormItemProps, 'labelWidth' | 'size'>> {
  /** 标题 */
  label?: string
  /** 组件或者全局组件 */
  el?: Component | string
  /** 唯一字段 */
  key: string
  /** tooltip 提示 */
  tip?: string
  /** 是否充满 content */
  fill?: boolean
  /** 是否必填 */
  required?: boolean
  // 验证失败信息
  requiredMessage?: string
  /**
   * 是否显示在表单上
   * @default true
   */
  show?: boolean | ((value: any, values: Record<string, any>) => boolean)
  /** 组件属性 */
  attrs?: Record<string, any>
  /** 组件事件 */
  events?: Record<string, any>
  /** 组件验证规则 */
  rules?: FormItemRule[]
  /** grid 布局 属性 */
  col?: Partial<ColProps>
}

Expose

属性说明类型可选值默认值
validate验证表单(handle: (model: Record<string, any>) => void) => void
resetFields重置表单() => void
clearValidate清除验证el-form
forceUpdateModel强制合并数据到 form model(model: Record<string, any>) => void