分组表单
Framework:
概述
分组表单功能允许您将表单字段分组显示,使复杂的表单更加清晰和易于管理。本章节将详细介绍分组表单的配置和使用方法。
基础用法
GroupSchema 类型
说明:
GroupSchema没有内置的label属性。如需显示分组标题,可通过props传递,例如props: { title: '分组标题' },然后在自定义DefaultGroup组件中读取并渲染。
基础示例
分组表单示例
分组配置
分组标题
通过 props 传递分组标题,在自定义 DefaultGroup 组件中读取并渲染:
分组标识
key 属性用于唯一标识分组,也可以用于布局配置:
自定义分组容器
全局自定义
通过 components 属性注册自定义分组容器:
说明:
GroupSchema.component用于按名称引用已注册的组件,而非注册组件本身。所有自定义组件必须通过components对象注册。
分组布局配置
统一配置
通过 layout 统一配置所有分组的样式:
按分组配置
通过 groups 为特定分组配置样式:
分组顺序
分组按照数组顺序渲染:
分组配置约束
Schema FormX 对分组配置有以下约束:
FieldSchema[](字段数组)和GroupSchema[](分组数组)不能混合使用- 如果 schema 中包含
name属性的项,会被识别为FieldSchema[],自动包裹在默认分组中 - 如果 schema 中包含
fields属性的项,会被识别为GroupSchema[],按分组渲染
分组验证
分组内的字段独立进行验证,验证规则与普通字段相同:
说明:Schema FormX 没有内置的分组级验证机制。所有验证都是字段级的。如需实现分组级的视觉反馈(如分组边框变红),可通过自定义分组容器结合
validate()返回的errors对象来实现。
动态分组
条件显示分组内的字段
GroupSchema 没有 hidden 属性。如需实现分组内字段的条件显示,应使用字段级的 hidden 属性配合依赖联动:
最佳实践:通过字段级
hidden+deps+onDepsChange实现条件显示,而不是动态修改 schema 结构。这种方式更稳定,且能正确处理数据清理。
常见用例
多步骤表单
使用分组实现多步骤表单:
分类表单
将相关字段分组:
最佳实践
- 合理分组:将相关字段放在同一分组,提高表单可读性
- 清晰标题:为每个分组设置简洁明了的标题
- 统一风格:保持分组样式的一致性
- 避免过度分组:不要创建过多的分组,保持表单简洁
- 响应式设计:确保分组在不同屏幕尺寸下都能正常显示