事件-高级选项
PagePlug 事件驱动架构引入条件触发机制(Conditional Triggering),允许通过声明式配置实现动作执行的动态控制。
该功能基于运行时表达式引擎,支持在事件流中嵌入JavaScript逻辑判断,这样动作仅当执行条件的计算结果为 true 时才运行,例如:{{checkbox1.value}},{{query1.data.length > 0}},从而实现细粒度的流程控制。
该功能已在企业版ee-v1.9.40版本中支持

一、功能介绍
1.1 执行条件
使用该功能需先把高级选项功能设置为开启状态
只有当执行条件的表达式返回内容为ture时,该事件才会被触发执行,可以看下下面的例子:

1.2 触发设置-防抖
使用该功能需先把高级选项功能设置为开启状态
当一个事件在短时间内连续触发时,防抖确保在最后一次触发后的一段时间内如果没有再次触发该事件(如果事件在延迟时间内被再次触发,则会重新计时),则执行对应的处理函数,例如说:
- 当用户在搜索栏(输入框组件)中输入内容时,系统会触发查询操作。如果该查询的计算成本较高(例如涉及网络请求或复杂计算),频繁触发可能导致性能问题。此时,可以通过防抖(debounce)机制优化:设定一个延迟时间,在用户连续输入时暂不执行查询,仅当用户停止输入达到设定时间后,才真正触发查询。这种方式能有效减少不必要的计算,显著提升性能并降低资源消耗。

1.3 触发设置-节流
使用该功能需先把高级选项功能设置为开启状态
节流(throttle)是一种限制操作执行频率的技术,确保在指定时间间隔内,动作最多触发一次;只有过了固定的时间后,才会再次被触发,例如说:
- 通过按钮组件触发更新用户数据的操作(如Query 查询)时,若用户频繁点击按钮,可能引发重复执行,导致资源浪费或系统压力。此时,通过设定节流时间(如 1 秒),可保证在该时间窗口内无论用户点击多少次,查询仅执行一次。这种方式能有效避免高频操作带来的性能损耗,节约运行成本。

1.4 时间
使用该功能需先把高级选项功能设置为开启状态
- 可以设置节流和防抖的时间,单位默认为毫秒(ms),如果选项为空或者填写为0,都会执行默认值(1000ms),支持动态进行时间内容的设置

二、功能范围
1、目前高级选项支持以下事件配置:
- 打印 ✅
- 保存草稿 ✅
- 恢复草稿 ✅
- 删除草稿 ✅
- 跳转到 ✅
- 消息提示 ✅
- 登出 ✅
- 打开弹窗 ✅
- 关闭弹窗 ✅
- 保存数据 ✅
- 删除数据 ✅
- 清空数据 ✅
- 下载 ✅
- 复制 ✅
- 重置组件 ✅
- 发信息 ✅