更新

addItem(type, model)

新增元素。

参数

名称类型是否必选描述
typeStringtrue元素类型,可选值为 node、edge 和group
modelObjecttrue元素的数据模型,type = group 时,参看手动创建节点分组文档

用法

  1. const model = {
  2. id: 'node',
  3. label: 'node',
  4. address: 'cq',
  5. x: 200,
  6. y: 150,
  7. style: {
  8. fill: 'blue',
  9. },
  10. };
  11. graph.addItem('node', model);
  12. // 当type为group时候,model的数据结构如下:
  13. const model = {
  14. groupId: 'xxx000999',
  15. nodes: ['123', '23'],
  16. type: 'rect',
  17. zIndex: 0,
  18. title: {
  19. text: '名称',
  20. },
  21. };
  22. graph.addItem('group', model);

add(type, model)

同 addItem(type, model)。

updateItem(item, model)

更新元素,包括更新数据、样式等。

参数

名称类型是否必选描述
itemStringObjecttrue
cfgObjectfalse需要更新的数据模型

用法

  1. const model = {
  2. id: 'node',
  3. label: 'node',
  4. address: 'cq',
  5. x: 200,
  6. y: 150,
  7. style: {
  8. fill: 'blue',
  9. },
  10. };
  11. // 通过ID查询节点实例
  12. const item = graph.findById('node');
  13. graph.updateItem(item, model);

update(item, model)

同updateItem(item, model)。

removeItem(item)

new删除元素,当 item 为 group ID 时候,则删除分组。

参数

名称类型是否必选描述
itemStringObjecttrue

用法

  1. // 通过ID查询节点实例
  2. const item = graph.findById('node');
  3. graph.removeItem(item);

remove(item)

同 removeItem(item)。

refresh()

当源数据发生变更时,根据新数据刷新视图。

该方法无参数。

用法

  1. graph.refresh();

refreshItem(item)

刷新指定元素。

参数

名称类型是否必选描述
itemStringObjecttrue

用法

  1. // 通过ID查询节点实例
  2. const item = graph.findById('node');
  3. graph.refreshItem(item);

refreshPositions()

当节点位置发生变化时,刷新所有节点位置,并重计算边的位置。

该方法无参数。

用法

  1. graph.refreshPositions();

paint()

仅重新绘制画布。当设置了元素样式或状态后,通过调用 paint() 方法,让修改生效。

该方法无参数。

用法

  1. const item = e.item;
  2. const graph = this.graph;
  3. const autoPaint = graph.get('autoPaint');
  4. graph.setAutoPaint(false);
  5. graph.setItemState(item, 'selected', true);
  6. graph.paint();
  7. graph.setAutoPaint(autoPaint);

setAutoPaint(auto)

设置是否在更新/删除后自动重绘,一般搭配 paint() 方法使用。

参数

名称类型是否必选描述
autoBooleantrue是否自动重绘

用法

  1. const item = e.item;
  2. const graph = this.graph;
  3. const autoPaint = graph.get('autoPaint');
  4. graph.setAutoPaint(false);
  5. graph.setItemState(item, 'selected', true);
  6. graph.paint();
  7. graph.setAutoPaint(autoPaint);