g6/packages/site/docs/manual/customize/behaviorExtension.zh.md
Aaron e08c299a69
docs: update v5 site docs (#5162)
* docs: remove readme and navigation in site

* docs: remove v4 core concept docs

* docs: update history and lod plugin docs

* chore: update dumirc config

* docs: add api shape overview doc

* docs: update manual docs

* docs: update manual and tutorial docs

* chore: update dumirc

* docs: remove design sector

* docs: update docs meta data

* docs: update api docs
2023-11-20 09:50:36 +08:00

1.3 KiB
Raw Blame History

title order
自定义交互 3

交互是 G6 中的一个重要概念它是指用户与画布或图形进行交互的过程。G6 内置了一些交互,例如拖拽、缩放、框选、鼠标 hover 等。同时G6 也支持用户自定义交互。

通过继承 Behavior 类来自定义交互。

import { Behavior } from '@antv/g6';

class CustomBehavior extends Behavior {
  // 覆写方法
  // 类方法
}

覆写方法

getEvents 必选

类型() => { [key in string]: string }

获取交互的事件监听器

示例

这里给出一个自定义交互例子,当鼠标双击画布时,将画布内容缩放到合适大小。

import { Graph as BaseGraph, Behavior, extend } from '@antv/g6';

class ClickFitView extends Behavior {
  getEvents() {
    return {
      'canvas:dblclick': this.fitView,
    };
  }

  fitView() {
    this.graph.fitView();
  }
}

const Graph = extend(BaseGraph, {
  behaviors: {
    clickFitView: ClickFitView,
  },
});

const graph = new Graph({
  container: 'container',
  width: 500,
  height: 500,
  // 启用 clickFitView 交互
  modes: {
    default: ['clickFitView'],
  },
});