表单全局属性
表单设计器中「表单设置」抽屉内的全部属性:布局方向、渲染宽度、接口绑定、提交后行为与操作按钮。
概述
在表单设计器标题栏点击 表单设置,会打开「属性配置」抽屉,用于配置作用于整个表单的全局属性。这些属性不针对单个字段,而是控制表单的整体布局方式、弹窗渲染宽度、数据读写接口、提交后跳转行为以及底部操作按钮。
全局属性保存在表单实体上,点击 保存布局 时随布局一并写回。
配置项
| 配置项 | 说明 |
|---|---|
| 表单项布局方式 | 水平布局 / 垂直布局,控制标签与输入框的相对位置 |
| 宽度渲染方式(弹窗模式生效) | 默认 / 自定义,控制弹窗预览与弹窗表单的宽度来源 |
表单宽度(弹窗模式生效,支持 % 或 px) | 自定义宽度值,仅在选择「自定义」时显示 |
| 自定义新增接口 | 覆盖默认的新增保存逻辑 |
| 自定义编辑接口 | 覆盖默认的编辑保存逻辑 |
| 自定义详情页加载数据接口 | 覆盖默认的详情加载逻辑 |
| 自定义新增表单预置数据接口 | 新增表单打开前预置数据 |
| 自定义编辑表单预置数据接口 | 编辑表单打开前预置数据 |
| 提交后动作 | 提交成功后的跳转行为 |
| 选择页面 | 提交后跳转的目标页面,仅「跳转到页面(选择)」时显示 |
| 自定义页面地址 | 提交后跳转的自定义地址,仅「跳转到自定义地址」时显示 |
| 隐藏 [确定] 按钮 | 是否隐藏提交按钮 |
| [确定] 按钮文案 | 自定义提交按钮文案 |
| [确定] 按钮动作 | 提交表单 / 提交表单并继续 |
| 隐藏 [取消] 按钮 | 是否隐藏取消按钮 |
| [取消] 按钮文案 | 自定义取消按钮文案 |
| 外层元素垂直间距 | 顶层元素的垂直间距,默认 8 |
| 详情模式下隐藏空字段 | 详情模式下自动隐藏值为空的字段 |
布局与间距
表单项布局方式
「表单项 布局方式」是一个开关:打开为水平布局(标签在左、输入在右),关闭为垂直布局(标签在上、输入在下)。垂直布局为默认值。
外层元素垂直间距
控制表单顶层元素之间的垂直间距(RowSpace),通过滑块设置,取值范围 0–30,默认值 8。
渲染宽度
弹窗形态的表单(如功能按钮弹出的新增/编辑表单、设计器的弹窗预览)会使用「渲染宽度」决定弹窗宽度:
- 宽度渲染方式:选择「默认」时,宽度根据浏览器窗口宽度自适应计算。
- 自定义:选择后出现「表单宽度」输入框,可填写带单位的宽度值,支持
%或px(如60%、800px)。
渲染宽度只影响弹窗形态的表单;作为独立页面展示的表单不受该配置影响。
接口 绑定
表单可以绑定自定义平台接口来覆盖默认的数据读写逻辑。每个配置项右侧提供一个跳转入口,可直接打开对应接口的编辑器。
| 配置项 | 作用 | 可选接口类型 |
|---|---|---|
| 自定义新增接口 | 覆盖新增保存逻辑 | 功能类接口 |
| 自定义编辑接口 | 覆盖编辑保存逻辑 | 功能类接口 |
| 自定义详情页加载数据接口 | 覆盖详情/编辑的数据加载 | 数据源类接口 |
| 自定义新增表单预置数据接口 | 新增表单打开前预置数据 | 数据源类接口 |
| 自定义编辑表单预置数据接口 | 编辑表单打开前预置数据 | 数据源类接口 |
仅当默认处理逻辑无法满足业务需求(如需要写入多张表、联动外部系统、返回定制化数据)时才需要配置。未配置时使用平台默认逻辑。
提交后动作
「提交后动作」决定表单提交成功后的行为,可选值如下:
| 显示文案 | 说明 |
|---|---|
| 无 | 提交后不跳转,仅完成提交 |
| 跳转到页面(选择) | 跳转到指定的平台页面,需要继续配置「选择页面」 |
| 跳转到结果页 | 跳转到统一的结果页,并展示返回消息 |
| 跳转到自定义地址 | 跳转到自定义地址,需要继续配置「自定义页面地址」 |
选择「跳转到页面(选择)」时,会出现「选择页面」配置项,用于选择当前对象下的平台页面;选择「跳转到自定义地址」时,会出现「自定义页面地址」配置项,可填写站内路径或 http 开头的完整地址。
跳转时会把新提交记录的主键以 dataId 参数追加到目标地址上,便于目标页面直接定位该记录。
操作按钮
表单底部的操作按钮可整体控制:
- 隐藏 [确定] 按钮:开启后不展示提交按钮。
- [确定] 按钮文案:自定义提交按钮文案,留空显示系统默认值。
- [确定] 按钮动作:「提交表单」(提交后关闭)或「提交表单并继续」(提交后保留表单以便继续录入)。该配置只在弹出式表单生效。
- 隐藏 [取消] 按钮:开启后不展示取消按钮。
- [取消] 按钮文案:自定义取消按钮文案,留空显示系统默认值。
隐藏 [确定] 按钮后,按钮文案与按钮动作配置会一并隐藏。
详情展示
详情模式下隐藏空字段:开启后,详情模式(只读展示)下值为空的字段会被自动隐藏,使详情页更紧凑。
下一步
属性明细
以下内容面向技术实现与 AI 检索,逐个说明表单全局属性的类型、取值与存储。
全局属性表
| 属性名 | 类型 | 含义 | 取值/存储值 |
|---|---|---|---|
Name | string | 表单名称 | 在表单列表中维护,必填 |
Title | string | 表单标题 | 在表单列表中维护,可为空 |
Description | string | 表单描述 | 在表单列表中维护 |
LayoutType | MetaFormLayoutEnum | 表单项布局方式 | 0 = 垂直布局(默认),1 = 水平布局 |
RenderWidthType | RenderWidthTypeEnum | 渲染宽度方式 | 0 = 默认(默认),9 = 自定义 |
RenderWidth | string | 自定义渲染宽度 | 仅 RenderWidthType = 9 时生效,如 "60%"、"800px" |
RowSpace | int | 外层元素垂直间距 | 默认 8,范围 0–30 |
SaveInterfaceId | string(GUID) | 自定义新增接口 | 平台接口 id,标签为 Function |
EditInterfaceId | string(GUID) | 自定义编辑接 口 | 平台接口 id,标签为 Function |
GetInterfaceId | string(GUID) | 自定义详情页加载数据接口 | 平台接口 id,标签为 DataCmpDs |
Properties.AddInitDataInterfaceId | string(GUID) | 自定义新增表单预置数据接口 | 平台接口 id,标签为 DataCmpDs |
Properties.EditInitDataInterfaceId | string(GUID) | 自定义编辑表单预置数据接口 | 平台接口 id,标签为 DataCmpDs |
AfterSubmitAction | AfterSubmitActionEnum | 提交后动作 | 0 / 1 / 8 / 9,见下 |
MetaPageId | string(GUID) | 提交后跳转的页面 | 仅 AfterSubmitAction = 1 时生效 |
CustomPageAddress | string | 提交后跳转的自定义地址 | 仅 AfterSubmitAction = 9 时生效 |
HideOkButton | bool | 隐藏 [确定] 按钮 | true / false |
OkButtonText | string | [确定] 按钮文案 | 留空用系统默认值 |
OkButtonAction | MetaFormOkButtonActionEnum | [确定] 按钮动作 | 0 = 提交表单,1 = 提交表单并继续 |
HideCancelButton | bool | 隐藏 [取消] 按钮 | true / false |
CancelButtonText | string | [取消] 按钮文案 | 留空用系统默认值 |
Properties.HideEmptyFieldInDetail | bool | 详情模式下隐藏空字段 | true / false |
枚举取值
public enum MetaFormLayoutEnum
{
Vertical = 0, // 垂直布局(默认)
Horizontal = 1, // 水平布局
}
public enum RenderWidthTypeEnum
{
Default = 0, // 默认
Custom = 9, // 自定义
}
public enum AfterSubmitActionEnum
{
None = 0, // 无
RedirectToDetailPage = 1, // 跳转到页面(选择)
RedirectToResult = 8, // 跳转到结果页
RedirectToCustomPage = 9, // 跳转到自定义地址
}
public enum MetaFormOkButtonActionEnum
{
Submit = 0, // 提交表单
SubmitThenContinue = 1, // 提交表单并继续
CloseForm = 2, // 关闭表单
}
MetaFormOkButtonActionEnum 定义了 CloseForm = 2,但设计器界面目前只提供 提交表单(0)与 提交表单并继续(1)两个选项。
提交后动作的执行逻辑
AfterSubmitAction | 条件 | 行为 |
|---|---|---|
0 | — | 不跳转 |
1 | MetaPageId 非空 | 跳转到平台页面,并携带 dataId 参数 |
8 | — | 跳转到统一结果页,展示接口返回的 message 与 moreMessage |
9 | CustomPageAddress 非空 | 以 http 开头时整页跳转,否则站内路由跳转,均携带 dataId 参数 |
默认弹窗宽度计算
当 RenderWidthType = 0(默认)时,弹窗宽度按窗口宽度自适应:
| 窗口宽度 | 弹窗宽度 |
|---|---|
| > 1200 | 40% |
| > 1000 | 50% |
| > 800 | 60% |
| > 600 | 70% |
| > 400 | 80% |
| 其余 | 90% |
当 RenderWidthType = 9(自定义)且 RenderWidth 为空时,回退到上述默认值。
存储示例
{
"LayoutType": 0,
"RenderWidthType": 9,
"RenderWidth": "800px",
"RowSpace": 8,
"SaveInterfaceId": "",
"EditInterfaceId": "",
"GetInterfaceId": "",
"AfterSubmitAction": 1,
"MetaPageId": "a1b2c3d4-5e6f-4a8b-9c0d-1e2f3a4b5c6d",
"CustomPageAddress": "",
"HideOkButton": false,
"OkButtonText": "保存并提交",
"OkButtonAction": 1,
"HideCancelButton": false,
"CancelButtonText": "",
"Properties": {
"AddInitDataInterfaceId": "",
"EditInitDataInterfaceId": "",
"HideEmptyFieldInDetail": true
}
}