Skip to content

Form 表单

xy-formxy-form-item 用于组织录入结构和字段级校验。当前版本补上了内联布局、整表禁用、嵌套路径字段和滚动到错误项这些后台表单高频能力。

何时使用

  • 需要对用户输入做字段级校验(必填、格式、范围等)时。
  • 需要统一管理表单数据对象和校验规则时,配合 model + rules 使用。
  • 需要局部保存、步骤表单或字段回滚时,使用 validateField / clearValidate / resetFields
  • 需要长表单提交失败后自动滚动到首个错误字段时,开启 scroll-to-error
  • 需要整表禁用(如审批流中"只读查看"态)时,使用 disabled 向下传递。

何时不使用

  • 只需要简单展示数据而不需要校验时,直接用布局组件组织即可,不必包裹 Form。
  • 需要动态增减字段的复杂表单时,建议使用 xy-pro-form 或自行管理数组结构,Form 本身不提供动态字段 API。
  • 需要跨表单联动校验时,Form 的 rules 仅作用于当前表单实例,跨表单逻辑需自行编排。
  • 需要可视化拖拽搭建表单时,Form 不提供设计器能力,应使用上层方案。

基础用法

最常见的场景是把 Input、Select 这类录入控件包进 xy-form-item,再用 rules 定义字段校验。

尚未提交

字段级方法

validateFieldclearValidateresetFields 更适合局部保存、步骤表单和字段回滚。

字段级方法Methods

表单支持字段级别的校验、清空和重置操作。

内联布局与禁用继承

inline 适合筛选条和轻量查询表单,disabled 会向表单项和内层录入控件传递禁用状态。

行内布局Inline

行内表单将表单项紧凑排列,适合工具栏内的筛选条件。

嵌套字段与滚动到错误项

prop 支持点路径和路径数组,scroll-to-error 适合长表单提交失败时快速定位首个错误字段。

嵌套字段Nested

表单支持嵌套结构的数据绑定,使用路径字符串作为 prop。

为什么它适合中后台表单

  • 支持 validateField,适合局部保存和向导式步骤。
  • 支持 clearValidate,适合切换数据源后清掉旧错误。
  • 支持 resetFields,适合分区回滚而不是整表单重置。
  • 支持嵌套字段路径,适合把表单直接绑定到业务对象结构。
  • 支持 scroll-to-error,适合长表单失败后的错误定位。

Form API

Form Attributes

属性说明类型默认值
model表单数据对象FormProps["model"]
rules校验规则集合FormRules{}
label-width标签宽度string | number'112px'
label-position标签布局方式FormProps["labelPosition"]'left'
size表单默认尺寸FormProps["size"]'md'
inline是否启用内联布局booleanfalse
disabled是否整表禁用booleanfalse
scroll-to-error校验失败时滚动到首个错误字段booleanfalse
validate-on-rule-change规则变化后是否自动重新校验booleantrue

Form Exposes

方法说明签名
validate()校验整个表单FormInstance["validate"]
validateField(props, trigger?)校验指定字段FormInstance["validateField"]
resetFields(props?)重置指定字段或整表单FormInstance["resetFields"]
clearValidate(props?)清空指定字段或整表单的校验信息FormInstance["clearValidate"]

FormItem API

FormItem Attributes

属性说明类型默认值
label字段标签string''
prop对应的模型字段名FormProp''
rules当前项额外规则XyFormRule[][]
required是否必填booleanfalse
help帮助或占位提示文案string''

FormItem Slots

插槽说明
default字段内容区