跳至主要內容

触发器

2025年1月17日大约 2 分钟

触发器

基本信息

连接上游组件和下游组件的中间节点。在组件与组件的连线上可以添加 触发器 ,在 触发器 中可以关联两端组件的路由配置。

函数参数

详见『函数/参数说明』

函数返回值

触发器支持返回普通布尔值或 Promise 以便于处理异步操作。

  • 返回布尔值:

    1. return true 执行下一步操作
    2. return false 阻止下一步操作
  • 返回 Promise4.2+

    return new Promise(function (resolve) {
      // 处理逻辑...
    
      // 使用 resolve(true) 或 resolve(false) 返回结果
      return resolve(true);
    });

返回 false 后,则该组件的点击事件不生效。

示例

前提:大屏中有 2 个通用标题:【修改】、【显示时间】。

实现效果:点击【修改】后,将【显示时间】内容改为当前时间。当点击 3 次后,禁止修改。

1. 大屏设计器内容

2. 节点编程配置

【触发器 1】内容:

// 获取本地变量 `count`,若无,则默认为 0
var count = HETU.getLocalVar('count') || 0;
return count < 3;

【转换器 1】内容:

return [{ title: new Date().toLocaleString() }];

【转换器 2】内容:

// 获取本地变量 `count`,若无,则默认为 0
var count = HETU.getLocalVar('count') || 0;

// 将 count 值加 1 后返回
return { count: count + 1 };

【转换器 1】内容:

var count = HETU.getLocalVar('count');
return [{ title: '点击修改时间 (' + count + ') 次' }];

提示

节点编程含义:

每次点击【修改】时,通过【触发器 1】判断临时变量 count 的值,

count 小于 3,则:

  1. 通过【转换器 1】修改【显示时间】的内容为当前时间;
  2. 通过【转换器 2】更新 count 值(加 1)。

当临时变量变更后,通过【转换器 3】触发【修改】的「导入数据接口」动作,显示当前 count 的值。

3. 结果预览

上次编辑于: 2025/2/26 14:19:58
贡献者: yaodd,xuch