跳到主要内容

字段配置

字段是实体对象的数据模型单元,字段配置用于定义对象的列结构、数据类型与校验规则。

概述​

在 开发中心 → 字段配置 中可以管理某个实体对象下的全部字段。字段相当于数据库表中的一列,平台会为每个字段同步创建数据库列,并根据字段类型自动生成表单控件、列表展示样式与搜索条件。

字段配置界面包含一张按对象过滤的字段列表,支持按名称、编码、字段类型、描述查询,并提供以下操作:

操作说明
新增填写名称、编码、类型及类型专属属性后创建字段,可连续新增
编辑修改字段属性(编码创建后不可修改)
查看详情以抽屉方式展示字段的全部属性
校验规则为字段配置数据级的正则校验规则
快速初始化调用 MetaObject/QuickInitialize 为对象补齐内置字段
修复数据表调用 MetaField/RepairDbTable 将元数据字段同步为数据库列
字段与对象的关系

字段从属于实体对象(MetaObjectId),配置入口在对象详情中。对象本身的属性请参考 对象配置;字段在表单、视图列表中的展示与交互(如是否必填、是否只读、占位符)在对应模块中单独配置,不在字段配置中设置。

支持的字段类型​

系统内置九种字段类型,每种类型拥有独立的渲染方式与专属属性:

字段类型枚举名存储值说明详细文档
文本Text2单行文本、密码、文本区、Markdown、富文本文本字段
日期时间DateTime3日期时间、日期、时间三种渲染模式日期时间字段
是否Boolean5布尔值,支持自定义显示文案是否字段
数字Number9数字输入、评分、滑动条、进度条数字字段
货币数值Decimal10高精度小数,适用于金额货币字段
文件上传FileUpload14附件或图片上传文件上传字段
人员选择UserSelect30从人员数据源中选择人员选择字段
组织选择OrganizationSelect32从组织架构数据源中选择组织选择字段
数据源DataSource35从候选数据列表中选择数据源字段

枚举名与存储值以服务端 MetaFieldTypeEnum 为准;前端 FieldType.Currency 对应服务端的 Decimal(值均为 10)。

字段配置项​

不同字段类型的配置项不同。下表为所有类型的配置项索引,各类型仅显示与其相关的项:

配置项说明适用类型
名称字段显示名称,必填,最长 50 字符全部
编码字段唯一编码,必填,创建后不可修改全部
类型字段数据类型,必填,创建后不可修改全部
描述字段用途说明全部
数据源选择候选数据的来源文本、人员选择、组织选择、数据源
选择模式单选或多选人员选择、组织选择、数据源
渲染模式下拉、树形、单选按钮/复选框、级联人员选择、组织选择、数据源
表单项布局单选按钮/复选框模式下水平或垂直排列人员选择、组织选择、数据源
显示模式列表中以文本或标签展示人员选择、组织选择、数据源
标签颜色规则标签展示时的配色方案人员选择、组织选择、数据源
连接符多选值的连接文本数据源
文本渲染类型单行、密码、文本区、Markdown、富文本文本
最小长度 / 最大长度文本长度限制(0–100000)文本
首字母头像列表中以首字母头像展示文本文本
日期渲染类型日期时间、日期、时间日期时间
日期格式 / 时间格式显示格式模板日期时间
数字渲染类型数字输入、评分、滑动条、进度条数字
精度小数位数(0–6)数字、货币
最小值 / 最大值数值取值范围数字、货币
滑动步长滑动条每次移动的步长数字(滑动条)
是/否/null 显示文案布尔值的自定义文案是否
文件数量限制单次可上传文件数(1–10)文件上传
单文件大小限制每个文件大小上限(1–50 MB)文件上传
文件格式限制允许的文件格式,遵循 HTML accept 标准文件上传
附件展示模式默认模式或预览模式文件上传
输入框前缀 / 后缀输入框的前后缀文本文本、数字、货币、人员选择、组织选择、数据源
Lookup按数据 Id 关联其他对象人员选择、组织选择、数据源
开启索引为字段建立数据库索引除是否、文件上传外的类型
字段监听监听其他字段变化并刷新数据源人员选择、组织选择、数据源

通用的字段校验规则、查重规则、默认值等配置,请参考 字段配置详解。

创建字段流程​

  1. 进入 开发中心 → 实体对象,打开目标对象,切换到「字段配置」页签。
  2. 点击「新增」,依次填写名称、编码、字段类型。
  3. 选择字段类型后,表单会动态展示该类型专属的配置项,按需填写。
  4. 提交后系统自动为对象的数据表新增对应列(需要时点击「修复数据表」同步)。
编码规范
  • 编码必须以字母开头,仅允许字母、数字和下划线,长度不超过 50。
  • 编码会强制转为小写;非开发环境租户的编码会自动追加 ext_ 前缀。
  • id、_id 为保留编码,不可使用。
  • 字段完整编码 FullCode 为 {对象编码}.{字段编码}。

与表单 / 视图的关系​

字段只定义数据模型,其在界面上的呈现方式由下游模块决定:

  • 表单配置:决定字段是否展示、是否必填、是否只读、占位符、默认值与交互脚本,详见 表单脚本 API。
  • 视图列表配置:决定字段是否作为列表列、列宽、排序与搜索条件,详见 视图列表配置。
  • 详情 / 列表展示:由字段的渲染类型与展示属性(如标签、头像、附件模式)共同决定。

下一步​

字段属性明细​

以下内容面向技术实现与 AI 检索,说明字段实体的属性、类型与存储格式。

通用字段属性​

字段存储在 system_metafield 表,实体为 MetaField:

属性名类型含义取值/存储值
_idstring(GUID)字段主键例:a1b2c3d4-...
MetaObjectIdstring(GUID)所属对象 Id必填
AppIdstring(GUID)所属应用 Id由对象推导
Codestring字段编码小写,字母开头,^[A-Za-z][A-Za-z0-9_]*$,≤50
FullCodestring完整编码{对象编码}.{字段编码},全小写
Namestring字段名≤50
Descriptionstring描述纯文本,可空
FieldTypeMetaFieldTypeEnum字段类型见上方字段类型表
IsSystembool是否系统字段平台内置字段为 true
Customizedbool是否被自定义租户修改内置字段后置 true
CustomCreatedbool是否用户创建用户新建或非开发租户为 true
FieldValidationsList<FieldValidation>校验规则集合JSON 映射存储
PropertiesMetaFieldProperties类型专属扩展属性JSON 映射存储
SetIndexbool是否建立索引见下方索引规则
DbIndexTypeDbIndexTypeEnum索引类型当前仅 Default = 0

存储格式示例​

{
"_id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"MetaObjectId": "4b66c646-6e18-41ab-9e14-a015de6ba337",
"Code": "amount",
"FullCode": "sales.order.amount",
"Name": "订单金额",
"FieldType": 10,
"IsSystem": false,
"CustomCreated": true,
"Precision": 2,
"SetIndex": true,
"DbIndexType": 0,
"Properties": {
"NubmerMinValue": 0,
"NubmerMaxValue": 100000,
"Prefix": "¥"
}
}

数据库列映射​

字段会同步为对象数据表(表名 = 对象编码将 . 替换为 _ 并转小写)中的列,映射关系如下:

字段类型PostgreSQL 类型
Texttext
DateTimetimestamp
Booleanbool
Numberfloat8
Decimaldecimal
UserSelect / OrganizationSelect / DataSource / FileUploadtext

索引规则​

仅当 SetIndex = true 且字段类型不属于以下情况时创建索引,索引名为 idx_{表名}_{字段编码}:

  • 类型为 Unknown、Boolean、FileUpload;
  • 文本类型的渲染类型为 Markdown、TextArea、RichText。

相关接口​

接口说明
POST /api/MetaField/Create新建字段
POST /api/MetaField/Edit编辑字段
POST /api/MetaField/SaveFieldValidations保存校验规则
GET /api/MetaField/Get获取字段详情
POST /api/MetaField/GetList分页查询字段
GET /api/MetaField/GetAllList按对象获取字段列表
GET /api/MetaField/GetFieldTypes获取字段类型选项
GET /api/MetaField/GetRegularTypes获取校验规则类型选项
POST /api/MetaField/RepairDbTable修复对象数据表的字段列