跳到主要内容

事件

概述

G6 中的事件系统是在 G 的事件系统基础上进行了封装,提供了更多的事件类型,以及更加方便的事件绑定和解绑方法。

事件类型

G6 中的事件类型主要分为以下几类:

  1. 图(Graph)事件
  2. 画布(Canvas)事件
  3. 元素(Element)事件

图事件

图事件是指与整个图实例相关的事件,例如图的渲染完成事件、图的更新事件等。图事件的完整列表见GraphEvent。

监听图事件

图事件的监听与默认的事件监听方式一致,例如监听图的渲染完成事件:

import { Graph, GraphEvent } from '@antv/g6';

const graph = new Graph({
  // ...
});

graph.on(GraphEvent.AFTER_RENDER, () => {
  // event handler
});

画布事件

画布事件是指与画布相关的事件,例如画布的点击事件、画布的拖拽事件等。画布事件的完整列表见CanvasEvent。

监听画布事件

例如监听画布的点击事件:

import { Graph, CanvasEvent } from '@antv/g6';

const graph = new Graph({
  // ...
});

graph.on(CanvasEvent.CLICK, (event) => {
  // event handler
});

元素事件

元素事件主要指在元素对象上触发的事件,例如节点的拖拽事件、边的点击事件等。元素分为节点(node)、边(edge)、组合(combo)三类,对应的事件完整列表分别见:NodeEvent 、EdgeEvent、ComboEvent。

监听元素事件

与画布事件类似,例如监听节点的拖拽和边的点击事件:

import { Graph, NodeEvent, EdgeEvent, ComboEvent } from '@antv/g6';

const graph = new Graph({
  // ...
});

graph.on(NodeEvent.DRAG, (event) => {
  // event handler
});

graph.on(EdgeEvent.CLICK, (event) => {
  // event handler
});

graph.on(ComboEvent.CLICK, (event) => {
  // event handler
});

事件监听与解除

G6 提供以下 API 用于事件监听和解除:

on

添加事件监听

const handler = (event) => {
  // event handler
};

graph.on('event_name', handler);

off

移除事件监听

graph.off('event_name', handler);

当不传入任何参数时,会移除所有事件监听:

graph.off();

once

添加一次性事件监听,即事件触发后会自动移除事件监听

graph.once('event_name', handler);

emit

如果你想手动触发一个事件,可以使用 emit 方法:

graph.emit('event_name', {
  // event data
});
© Copyright 2026 Ant Group Co., Ltd..备案号:京ICP备15032932号-38
全站搜索
文档与示例输入关键词开始搜索

输入关键词,查找文档、API 与示例

↑↓选择↵打开Esc关闭