低代码页面的关联联动是一个比较复杂的工作,场景较多,难以统一抽象。因此我总结了几种类型,可以分别设计。
联动显示隐藏
这是最简单,最常见的一种联动——某个字段为x值后,某些字段隐藏/显示。
从数据对象看,这类联动并不改变对象本身,也不是对象的自身特性,可以看成是视图展示效果。因此只要设计字段可见性的机制即可解决。
联动查询和级联查询
这也是一类极为常见的联动——表单中的某些字段,是其他对象下拉框(或表格),打开表单时需要联动查询该对象。
这类联动还有一种更复杂的场景——级联查询:表单中的A,B字段,分别是A,B对象的下拉列表,但A修改后,需要根据A的信息联动查询B。
这类联动本质上就是对象间的主-明细联动。根据对象间的一对多/多对一关系,可以形成不同的控件和联动效果。
聚合和查找
聚合是指存在主明细关系时,主对象可以聚合明细对象的字段为一个新字段,聚合可以设置count、max、min等操作。
查找是指在查询某个对象时,关联查询其对一对象的某些字段。
联动校验
联动校验,指一个字段的输入校验,需要联合其他字段进行判断。这类场景可以提供内置编辑器,让开发者自行编写代码校验逻辑。虽然解决办法很简单,但是将其归纳为元数据对象特性还是视图特性并不容易判断。
字段合法性虽然一般都可以看成是元数据对象特性而设置在对象上,但实践中导入初始数据时可能很多字段值并不合法,因此仅在视图编辑器中提供校验设置更适应多数场景。
联动计算
联动计算,指一个字段输入后,其他字段跟随计算得到新值。比如金额*税率=税额,金额或税率变化,税额跟随调整。这类联动可以在元数据层面抽象,也可以仅在视图层提供配置。
1. 计算字段
如果是元数据层面的抽象,可以单独设置为计算字段,对元数据来说,计算字段不可写,在入库时根据计算规则自动求值。同时页面上也需要根据该规则在编辑时同步回显。
2. 依赖字段和计算函数
如果是视图层配置,可以对某个字段设置依赖字段和计算函数,依赖字段变更时自动重新计算值。视图层的设计既可以实现联动计算,也可以保持字段的可编辑性。
伪计算(格式化)
还有依赖“伪计算”字段,比如需要有个字段叫“是否异常”,需要根据单据的状态显示。这类字段单纯前端展示,并不属于元数据对象设计。其本质上属于视图层面的自定义字段,可以通过字段值的格式化格式来实现
级联选择
级联选择如上所述,可以看成是一串主明细对象。但比如地址控件的省市区级联,并不能归纳到元数据对象上,这类控件就可以单独封装。比如内置地址控件、部门选择控件。
让
树形选择器
大多数树形选择器都是组织/部门选择场景,对低代码平台来说,树形结构的元数据对象很难标准化,如果只有组织/部门类选择场景,与其提供树形结构标准查询,不如直接基于内置组织对象提供控件。