Skip to content

ProForm 增强表单

xy-pro-form 适合承接后台场景里“分组字段 + 提交重置 + 表单头部说明”这一类稳定表单骨架。

基础用法

用默认插槽承接表单项时,可以先把布局、标题、动作区统一起来,再按页面需要补充字段。

方案配置

先统一头部、字段区和底部动作,再逐步补齐字段细节。

最近一次动作
还没有提交。

当前定位

  • 面向中后台页面的表单编排层,负责头部、网格和动作区的一致性。
  • 可以直接写插槽表单项,也可以逐步过渡到 schema 驱动字段。

当前边界

  • 当前不负责请求编排、抽屉/弹窗容器控制和步骤流转。
  • 复杂联动、权限裁剪和远程字段协议仍然建议由页面层处理。
  • schema + readonly 同时成立时,字段区会自动切成只读详情展示,而不是继续渲染禁用输入组件。

ProForm API

ProForm Attributes

属性说明类型默认值
title表单标题string''
description表单说明文案string''
model表单数据对象Record<string, unknown>-
schemaschema 驱动的字段配置数组ProFieldSchema[][]
rules表单校验规则FormRules{}
label-width表单项 label 宽度string / number'112px'
label-positionlabel 位置'left' / 'top''top'
size表单尺寸ComponentSize'md'
columns字段网格列数number2
loading是否处于加载中,加载中不渲染表单体booleanfalse
readonly是否只读,schema 非空时切换为只读详情展示booleanfalse
readonly-descriptions-props只读详情描述列表配置Omit<DescriptionsProps, 'items' / 'title' / 'extra'>{}
submitting是否提交中,提交中禁用表单并让提交按钮进入 loadingbooleanfalse
submit-text提交按钮文案string'保存'
reset-text重置按钮文案string'重置'
show-submit是否显示提交按钮booleantrue
show-reset是否显示重置按钮booleantrue

ProForm Events

事件名说明参数
submit校验通过后派发,携带 model 深拷贝快照(payload: Record<string, unknown>) => void
reset重置表单后派发,携带 model 深拷贝快照(payload: Record<string, unknown>) => void

ProForm Slots

插槽说明接收参数
default自定义表单项内容,仅在 schema 为空时渲染{ model, readonly }
header自定义头部区域,替换默认的标题和说明-
meta头部右侧补充信息区-
[field.slot]schema 字段的插槽名对应的自定义字段内容{ field, model }
actions自定义底部动作区按钮{ model, submit, reset, submitting }

只读详情模式下,除 header / meta / actions 外的插槽会原样转发给内部的 xy-descriptions

ProForm Exposes

名称类型说明
validate() => Promise<boolean>触发内部表单校验,返回是否通过
submit() => Promise<boolean>校验通过后派发 submit 事件,返回是否执行成功
reset(prop?: FormProp / FormProp[]) => void重置指定字段(缺省为全部)并派发 reset 事件
clearValidate(prop?: FormProp / FormProp[]) => void清除指定字段的校验状态(缺省为全部)