数据源字段
数据源字段(DataSource)用于从候选数据列表中选择数据,是最常用的关联型字段。
概述
数据源字段通过数据源获取候选项,可用于自定义选项集(如状态、级别)或关联其他对象的数据。它支持下拉、树形、单选按钮/复选框、级联四种渲染模式,并具备选择模式、展示模式、标签配色、连接符等丰富的展示配置,同时支持 Lookup 关联与字段监听联动。
配置项
| 配置项 | 说明 |
|---|---|
| 名称 | 字段显示名称,必填 |
| 编码 | 字段唯一编码,必填,创建后不可修改 |
| 描述 | 字段用途说明 |
| 数据源 | 候选数据的来源,必填 |
| 选择模式 | 单选或多选 |
| 渲染模式 | 下拉、树形、单选按钮/复选框、级联 |
| 表单项布局 | 单选按钮/复选框模式下的水平/垂直排列 |
| 显示模式 | 列表中以文本或标签展示 |
| 标签颜色规则 | 标签展示时的配色方案 |
| 连接符 | 多选且文本展示时,多值之间的连接文本 |
| 输入框 前缀 | 输入框左侧前缀文本 |
| 输入框后缀 | 输入框右侧后缀文本 |
| Lookup | 按数据 Id 关联其他对象 |
| 字段监听 | 监听其他字段变化并刷新数据源 |
数据源
数据源字段必须选择一个数据源,可选系统内置数据源或自定义数据源。详见 系统内置数据源。
选择模式与渲染模式
| 选择模式 | 值 | 说明 |
|---|---|---|
| 单选 | 0 | 只能选择一项 |
| 多选 | 1 | 可选择多项,多值以逗号分隔存储 |
| 渲染模式 | 值 | 说明 |
|---|---|---|
| 下拉选择器 | 0 | 标准下拉选择,多选时支持多标签输入 |
| 树形选择器 | 1 | 树形结构展示 |
| 单选按钮/复选框 | 2 | 以单选/复选形式平铺展示 |
| 级联选择器 | 3 | 多级联动选择,自动为多选 |
多选一旦启用不可改回单选;级联选择器自动为多选。
展示与标签
- 显示模式:文本(0)或标签(1)。
- 标签颜色规则:默认色(0)或随机色(1),仅标签模式生效。
- 连接符:仅当多选 + 文本展示时生效,用于拼接多个选项的显示文本(如「、」)。
Lookup 与字段监听
- Lookup:开启后选择一个目标对象,列表与详情可直接展示该对象的字段;一旦开启不可撤销、不可更换关联对象。
- 字段监听:被监听字段值变化时刷新当前字段数据源,常用于省市联动等场景。
下一步
属性明细
以下内容面向技术实现与 AI 检索。
数据源字段属性表
| 属性名 | 类型 | 含义 | 取值/存储值 |
|---|---|---|---|
FieldType | int | 字段类型 | DataSource = 35 |
DataSourceSelect | string | 数据源标识 | 必填 |
SelectMode | SelectModeEnum | 选择模式 | Single=0 / Multiple=1 |
SelectRenderMode | SelectRenderModeEnum | 渲染模式 | Select=0 / TreeSelect=1 / RadioButtonOrCheckBox=2 / Cascader=3 |
Properties.Layout | string | 表单项布局 | vertical(默认)/ horizontal |
Properties.SelectDisplayMode | SelectDisplayModeEnum | 显示模式 | Text=0 / Tag=1 |
Properties.SelectTagColorRule | SelectTagColorRuleEnum | 标签颜色规则 | Default=0 / RandomColor=1 |
Properties.Connector | string | 连接符 | 仅多选 + 文本展示,最长 10 字符 |
Properties.Prefix / Properties.Suffix | string | 输入框前后缀 | 可空 |
LookupByDataId | bool | 是否开启 Lookup | 开启后不可撤销 |
LookupMetaObjectId | string | Lookup 目标对象 Id | 开启 Lookup 时必选 |
LookupMetaObjectCode | string | Lookup 目标对象编码 | 由目标对象推导 |
OpenFieldMonitor | bool | 是否开启字段监听 | 默认 false |
MonitorFields | string | 监听的字段编码 | 逗号分隔 |
连接符生效条件
| 条件 | 是否生效 |
|---|---|
字段类型为 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" }
}
}