# 元字段配置
元字段配置界面如下:

# 配置项及含义
# 默认值
此值默认取值为元字段对应的表字段的默认值,因此表字段设计好,一般无需配置。
# 开关设置
此配置项,控制了元字段的一些系统处理逻辑。
- 允许为空: 数据库中字段是允许为空的,跟着数据表字段来。一般无需配置
- 允许搜索: 若勾选, 则列表页面中搜索面板中将会出现。
- 列表显示: 若勾选, 则列表页中会出现此列数据。
- 允许多值: 此项要求数据字段必须是文本类型(varchar或text这样的), 当勾选时,表示其中可以存储用英文逗号分隔的多个值。例如: "1,2,3"
- 是否文件: 表示此元字段存储的数据是文件地址。要求字段类型必须是json或文本类型(varchar/text等)。参考文件上传与下载#关于上传的其他说明
# 表单配置
此配置项决定了,此元字段在新增表单、更新表单、查看表单三种状态下的控制。
- 显示: 正常
- 隐藏: 前端存在此空间,只是通过css隐藏了
- 只读: 空间被disable了。注意,因为disable比readonly支持度更好, 因此使用disable达到只读的目的,但部分控件复杂控件是无法支持的(如富文本等)
- 禁用: 前端页面表单中无此表单项,而不是隐藏,是直接没有的。
注意只读和禁用的区别
# 数据源
数据表中一个字段能存储什么值,通常是有限定的。比如:
- "证件类型": 只能从1,2,3,4中选,分别代表身份证,护照等等。
- "企业id": 必须关联企业表的主键,这些可选的主键得来源于数据库。
- 有时选项值可能是动态的,数据来源是第三方平台。
通过【数据源】配置项,你都能得到满足。
# 静态数组
通过直接配置固定的静态数组,入库的值是选定项目的value。
适用于简单,万年不变的选项。
# 字典名
选择一个字典项,字典选项来源于【字典管理】。这个和静态数组的唯一区别就是,选项数据在【字典管理】中维护,更方便,而且可以用在其他地方。
# 接口
这个是最灵活的方式了,你可以输入一个地址,可以是"/"开头的相对接口路径,也可以是http://或https://开头绝对地址。
但是有一个条件,响应数据必须使用HttpResult包装,其data 必须是key和value组成的数组对象。如下:
{
"code": 0,
"data": [
{
"key": "选项一",
"value": "值1"
},
{
"key": "选项二",
"value": "值2"
}
]
}
通常会需要自己写一个这样的接口,是最兼容,但"低代码"程度最低的一种方案。
建议通过接口校验按钮进行校验。验证通过后再存储。
# sql
通过编写查询sql语句,将查询的结果作为选项值。如下:
select id as id, name as cn from t_user;
id值将作为选项值,cn将作为选项名。
WARNING
结果值必须是id和name,历史原因导致, 后期版本可能会改为key和value。
建议通过校验按钮进行校验, 注意,校验不会去数据库中真正的执行,只是校验sql是否符合语法。
TIP
dbmeta支持多数据库,因此上述sql其实默认查的是主库的t_user表的数据。若希望使用其他库,稍作调整即可:
select id as id, name as cn from t_user;otherDbName
其中, otherDbName必须与`md.analysis.source-config中对应数据库的key保持一致。如下:
md:
analysis:
source-config:
otherDbName: # 必须与这个key名保持一致
url:
port:
password:
WARNING
注意优先级,静态数组 > 字典 > 接口 > sql。 也就是说如果你配置了多个,那么就会按这个优先级来处理。