2026-01-26 19:33:55 +08:00

2.3 KiB
Raw Blame History

EventHelper

EventHelper@tmagic/core 的事件助手类,继承自 EventEmitter,用于管理组件间的事件联动。

构造函数

new EventHelper(options: EventHelperOptions)

EventHelperOptions

参数 类型 说明
app App 应用实例

属性

属性 类型 说明
app App 应用实例

实例方法

initEvents

  • 返回:

    • {void}
  • 详情:

    初始化所有节点的事件。通常在页面加载时调用。

  • 示例:

eventHelper.initEvents();

bindNodeEvents

  • 参数:

    • {Node} node 节点实例
  • 返回:

    • {void}
  • 详情:

    为单个节点绑定事件处理。

  • 示例:

eventHelper.bindNodeEvents(node);

removeNodeEvents

  • 返回:

    • {void}
  • 详情:

    移除所有节点的事件绑定。

bindDataSourceEvents

  • 返回:

    • {void}
  • 详情:

    绑定数据源事件,监听数据源变化并触发相应的组件更新。

removeDataSourceEvents

  • 参数:

    • {DataSourceSchema[]} dataSourceList 数据源列表(可选)
  • 返回:

    • {void}
  • 详情:

    移除数据源事件绑定。

getEventQueue

  • 返回:

    • {EventConfig[]}
  • 详情:

    获取当前事件队列。

addEventToQueue

  • 参数:

    • {EventConfig} event 事件配置
  • 返回:

    • {void}
  • 详情:

    将事件添加到队列中等待处理。

destroy

  • 返回:

    • {void}
  • 详情:

    销毁事件助手,清理所有事件绑定。

支持的动作类型

EventHelper 支持以下动作类型ActionType

类型 说明
ActionType.COMP 组件动作,调用目标组件的方法
ActionType.CODE 代码块执行
ActionType.DATA_SOURCE 数据源方法调用

事件配置示例

const eventConfig = {
  name: 'click',
  actions: [
    {
      actionType: 'comp',
      to: 'button_2',
      method: 'show'
    },
    {
      actionType: 'code',
      codeId: 'code_1'
    },
    {
      actionType: 'dataSource',
      dataSourceId: 'ds_1',
      methodName: 'fetchData'
    }
  ]
};