先问一个扎心的问题:

做企业级低代码应用,页面之间传参、页面状态管理,你是怎么撑过来的?

是不是这样——参数靠手敲,敲错一个字符排查半小时;页面属性一多,变更逻辑写成一长串 if-else,谁也看不懂谁改的;遇到一组有关联的数据,只能拆成五六个属性,拆的时候爽,用的时候哭。

如果你也在这三个坑里挣扎过,那活字格12.1这轮页面属性升级,值得你花4分钟看完。

这次不是小修小补,是把"勉强能用"改成了"顺手好用"。

下面我们一个一个说。

01 传参:从"手写暗号"到"点选清单"

先看最日常的场景:

业务员从订单列表点进一笔订单,详情页需要知道"进来的是哪张单、客户是谁、当时筛的是什么条件"。

这就是页面属性的经典用法——页面跳转时,把上下文信息带过去。

在旧版本里,用【打开标签页命令】传页面属性,有个不大不小的坎:属性名得手动敲。

单子少、属性少的时候还好。项目一旦上了规模——订单、库存、供应商、客户十几个页面来回跳,属性名又长又像,手敲就是事故高发区:

  • 敲错一个字母,页面静默不传值,找半天不知道问题在哪;
  • 新人接手,对着属性列表猜"这个传过去到底是干嘛的"。

12.1 的改法很直接:不用敲了,直接选。

打开标签页时,需要传递哪些页面属性,以可选列表的形式呈现,勾选/选择即可完成配置。

在这里插入图片描述

看起来是个小交互优化,实际上干掉了传参链路里最大的隐性成本。属性即点即选,配置过程和排错成本都降了一个量级。

02 变更监听:从"中央情报局"到"单元责任制"

如果说传参是页面属性的"入口",那变更监听就是它的"神经中枢"。

旧版本里,【属性变更时命令】只能配在页面设置中——这是一个全局监听:页面上任意一个属性变了,都会触发同一个命令。

于是,属性一多,命令里就长满了这种代码:

写的时候还能理清,过两周回头看,这就是一座逻辑屎山。

更要命的是:每次新增一个页面属性,都要回到页面设置那个总命令里,再补一段判断。 改一个地方,动全身风险,没人敢轻易碰。

12.1 把权限下放了:【属性变更时命令】可以直接配到某一个具体的属性上。

在这里插入图片描述

每个属性自己管自己的变化逻辑,谁变了处理谁,互不干扰。命令和属性一一对应,结构一目了然——从"中央情报局"变成了"单元责任制"。

这里有个细节值得划重点: 两个配置位置不是二选一,而是可以同时存在。

  • 页面设置中配置的命令 → 先执行
  • 发生变化的那个属性上配置的命令 → 后执行

这样天然形成了一种优雅的分层:通用逻辑放页面级(比如埋点、日志、联动校验),专属逻辑放属性级(业务变更处理)。 各司其职,互不污染。

以后再加新属性?加就是了,给它单独配一套变更命令,老逻辑一根手指都不用动。

03 数据存储:从"单品仓库"到"集装箱"

前两点解决了属性"怎么传"和"什么时候触发",第三点解决的是——页面属性到底能装什么。

这是这次升级里最硬核、后劲最大的一处。

旧版本里,一个页面属性基本只能装一个独立值。可真实业务里,状态往往是一"坨"的:

  • 一次要多选的几行数据;
  • 一个"当前单据"——它带着单号、客户、金额、明细,天然是个结构体;
  • 一个筛选条件组,三个字段互相绑定。

以前没得选,只能拆。一个完整对象拆成五六个属性,页面属性数量膨胀,命名、传参、监听全部跟着变复杂。

12.1 给页面属性扩展了数据类型,现在支持:
在这里插入图片描述

更关键的是:数组和对象可以互相嵌套。 数组里可以装对象,对象里也可以挂数组。

在这里插入图片描述

这意味着什么?一个【当前订单】对象属性,就能把单号、客户、金额、商品明细一整棵结构树装进去;一个【选中行集合】数组属性,就能把表格里勾选的多行数据整体带走。

复杂页面状态,终于可以"成块管理"了。

以前拆散的变量,现在可以按业务语义重新聚拢;页面属性的数量不再跟着数据结构走,而是跟着业务模块走。这对大型应用的维护性是质变级别的提升。


结语:这次升级,治的是企业级开发的"慢性病"

总结一下12.1在页面属性上的三个动作:
在这里插入图片描述

如果你正在做或者将要做的应用,命中下面任何一条,都建议升级到12.1体验一下:

  • 页面之间要传多个参数,且页面数量已经上了规模;
  • 页面状态复杂,属性数量超过了10个;
  • 表格多选、主子表、单据类页面多;
  • 需要在页面里临时承载结构化数据。

页面属性从来不是新功能,但从12.1开始,它真正配得上"页面级状态管理"这个定位了。

企业级低代码平台的进化,从来不是堆砌更多功能,而是让那些天天要用的功能,越来越顺手。

Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。

更多推荐