交互

addBehaviors(behaviors, modes)

新增行为,将单个或多个行为添加到单个或多个模式中。

参数

名称类型是否必选描述
behaviorsStringArraytrue
modesStringArraytrue

用法

  1. // 将单个Behavior添加到单个模式(默认的default模式)中
  2. graph.addBehaviors('click-select', 'default');
  3. // 将多个Behavior添加到单个模式(默认的default模式)中
  4. graph.addBehaviors(['brush-select', 'click-select'], 'default');
  5. // 将单个Behavior添加到多个模式中
  6. graph.addBehaviors('brush-select', ['default', 'select']);
  7. // 将多个Behavior添加到多个模式中
  8. graph.addBehaviors(['brush-select', 'click-select'], ['default', 'select']);

removeBehaviors(behaviors, modes)

移除行为,将单个或多个行为从单个或多个模式中去除。

参数

名称类型是否必选描述
behaviorsStringArraytrue
modesStringArraytrue

用法

  1. // 从单个模式中移除单个Behavior
  2. graph.removeBehaviors('click-select', 'default');
  3. // 从单个模式中移除多个Behavior
  4. graph.removeBehaviors(['brush-select', 'click-select'], 'default');
  5. // 从多个模式中移除单个Behavior
  6. graph.removeBehaviors('brush-select', ['default', 'select']);
  7. // 从多个模式中移除多个Behavior
  8. graph.removeBehaviors(['brush-select', 'click-select'], ['default', 'select']);

setMode(mode)

切换图行为模式。主要用于不同模式下的行为切换,如从编辑模式下切换到只读模式。

参数

名称类型是否必选描述
modeStringtrue模式的名称

用法

  1. const graph = new G6.Graph({
  2. container: div,
  3. width: 500,
  4. height: 500,
  5. pixelRatio: 2,
  6. modes: {
  7. default: [...],
  8. custom: [...]
  9. }
  10. })
  11. graph.setMode('custom')

getCurrentMode()

获取当前的行为模式。

该方法无参数。

返回值

  • 返回值类型:string;
  • 返回值表示当前的行为模式。

用法

  1. // 返回值mode表示当前的行为模式
  2. const mode = graph.getCurrentMode();

getZoom()

获取当前视口的缩放比例。

该方法无参数。

返回值

  • 返回值类型:number;
  • 返回值表示当前视口的缩放比例, 默认值为 1。

用法

  1. // 返回值zoom表示当前视口的缩放比例
  2. const zoom = graph.getZoom();

zoom(ratio, center)

改变视口的缩放比例,在当前画布比例下缩放,是相对比例。

参数

名称类型是否必选描述
ratioNumbertrue缩放比例
centerObjectfalse以 center 的 x、y 坐标为中心缩放,如果省略了 center 参数,则以元素当前位置为中心缩放

用法

  1. // 以(100, 100)为中心点,放大3倍
  2. graph.zoom(3, { x: 100, y: 100 });
  3. // 以当前元素位置为中心,缩小到0.5
  4. graph.zoom(0.5);

zoomTo(toRatio, center)

缩放视窗窗口到一个固定比例。

参数

名称类型是否必选描述
toRatioNumbertrue固定比例值
centerObjectfalse以 center 的 x、y 坐标为中心缩放,如果省略了 center 参数,则以元素当前位置为中心缩放

用法

  1. // 以(100, 100)为中心点,放大3倍
  2. graph.zoomTo(3, { x: 100, y: 100 });
  3. // 以当前元素位置为中心,缩小到0.5
  4. graph.zoomTo(0.5);

focusItem(item)

将元素移动到视口中心,该方法可用于做搜索后的缓动动画。

参数

名称类型是否必选描述
itemStringObjecttrue

用法

  1. graph.focusItem(item);

changeSize(width, height)

改变画布大小。

参数

名称类型是否必选描述
widthNumbertrue画布宽度
heightNumbertrue画布高度

用法

  1. graph.changeSize(600, 350);

translate(dx, dy)

采用相对位移来平移画布。

参数

名称类型是否必选描述
dxNumbertrue水平方向位移
dyNumbertrue垂直方向位移

用法

  1. graph.translate(100, 100);

moveTo(x, y)

采用绝对位移将画布移动到指定坐标。

参数

名称类型是否必选描述
xNumbertrue水平方向坐标
yNumbertrue垂直方向坐标

用法

  1. graph.moveTo(200, 300);

fitView(padding)

让画布内容适应视口。

参数

名称类型是否必选描述
paddingNumberArrayfalse

用法

  1. // padding只设置为一个值,则表示top = right = bottom = left = 20
  2. graph.fitView(20);
  3. // 等价于graph.fitView(20)
  4. graph.fitView([20]);
  5. // padding设置为数组,只传2个值,则top = bottom = 20, right = left = 10
  6. graph.fitView([20, 10]);
  7. // padding设置为数组,四个方向值都指定
  8. graph.fitView([20, 10, 20, 15]);