Skip to main content

数据源字段

数据源字段(DataSource)用于从候选数据列表中选择数据,是最常用的关联型字段。

概述​

数据源字段通过数据源获取候选项,可用于自定义选项集(如状态、级别)或关联其他对象的数据。它支持下拉、树形、单选按钮/复选框、级联四种渲染模式,并具备选择模式、展示模式、标签配色、连接符等丰富的展示配置,同时支持 Lookup 关联与字段监听联动。

配置项​

配置项说明
名称字段显示名称,必填
编码字段唯一编码,必填,创建后不可修改
描述字段用途说明
数据源候选数据的来源,必填
选择模式单选或多选
渲染模式下拉、树形、单选按钮/复选框、级联
表单项布局单选按钮/复选框模式下的水平/垂直排列
显示模式列表中以文本或标签展示
标签颜色规则标签展示时的配色方案
连接符多选且文本展示时,多值之间的连接文本
输入框前缀输入框左侧前缀文本
输入框后缀输入框右侧后缀文本
Lookup按数据 Id 关联其他对象
字段监听监听其他字段变化并刷新数据源

数据源​

数据源字段必须选择一个数据源,可选系统内置数据源或自定义数据源。详见 系统内置数据源。

选择模式与渲染模式​

选择模式值说明
单选0只能选择一项
多选1可选择多项,多值以逗号分隔存储
渲染模式值说明
下拉选择器0标准下拉选择,多选时支持多标签输入
树形选择器1树形结构展示
单选按钮/复选框2以单选/复选形式平铺展示
级联选择器3多级联动选择,自动为多选

多选一旦启用不可改回单选;级联选择器自动为多选。

展示与标签​

  • 显示模式:文本(0)或标签(1)。
  • 标签颜色规则:默认色(0)或随机色(1),仅标签模式生效。
  • 连接符:仅当多选 + 文本展示时生效,用于拼接多个选项的显示文本(如「、」)。

Lookup 与字段监听​

  • Lookup:开启后选择一个目标对象,列表与详情可直接展示该对象的字段;一旦开启不可撤销、不可更换关联对象。
  • 字段监听:被监听字段值变化时刷新当前字段数据源,常用于省市联动等场景。

下一步​

属性明细​

以下内容面向技术实现与 AI 检索。

数据源字段属性表​

属性名类型含义取值/存储值
FieldTypeint字段类型DataSource = 35
DataSourceSelectstring数据源标识必填
SelectModeSelectModeEnum选择模式Single=0 / Multiple=1
SelectRenderModeSelectRenderModeEnum渲染模式Select=0 / TreeSelect=1 / RadioButtonOrCheckBox=2 / Cascader=3
Properties.Layoutstring表单项布局vertical(默认)/ horizontal
Properties.SelectDisplayModeSelectDisplayModeEnum显示模式Text=0 / Tag=1
Properties.SelectTagColorRuleSelectTagColorRuleEnum标签颜色规则Default=0 / RandomColor=1
Properties.Connectorstring连接符仅多选 + 文本展示,最长 10 字符
Properties.Prefix / Properties.Suffixstring输入框前后缀可空
LookupByDataIdbool是否开启 Lookup开启后不可撤销
LookupMetaObjectIdstringLookup 目标对象 Id开启 Lookup 时必选
LookupMetaObjectCodestringLookup 目标对象编码由目标对象推导
OpenFieldMonitorbool是否开启字段监听默认 false
MonitorFieldsstring监听的字段编码逗号分隔

连接符生效条件​

条件是否生效
字段类型为 DataSource必需
选择模式为多选(SelectMode = 1)必需
显示模式为文本(SelectDisplayMode = 0)必需
显示模式为标签不生效

存储示例​

字段定义:

{
"Code": "level",
"Name": "级别",
"FieldType": 35,
"DataSourceSelect": "<数据源Id>",
"SelectMode": 1,
"SelectRenderMode": 2,
"Properties": {
"Layout": "horizontal",
"SelectDisplayMode": 0,
"Connector": "、"
}
}

对象数据中的存储值(多选以逗号分隔,展示时按连接符拼接):

{
"Fields": {
"level": { "Code": "level", "Text": "高、中", "Value": "high,medium" }
}
}