边的显示与隐藏

节点与边的显示/隐藏

使用下面四个函数可以实现节点与边的显示/隐藏:

  1. // 显示节点实例 nodeItem,该节点的 visible 属性值在该方法调用后被置为 true
  2. nodeItem.show();
  3. // 隐藏节点实例 nodeItem,该边的 visible 属性值在该方法调用后被置为 false
  4. nodeItem.hide();
  5. // 显示边实例 nodeItem,该边的 visible 属性值在该方法调用后被置为 true
  6. edgeItem.show();
  7. // 隐藏边实例 nodeItem,该边的 visible 属性值在该方法调用后被置为 false
  8. edgeItem.hide();

示例

边的显示与隐藏 - 图1 中摘取了元素显示/隐藏的相关操作部分,通过鼠标监听对节点、边、画布的点击事件,显示和隐藏元素:

  1. // 鼠标点击节点,隐藏该节点
  2. graph.on('node:click', ev => {
  3. const node = ev.item;
  4. console.log('before hide(), the nodevisible = ', node.get('visible'));
  5. node.hide();
  6. graph.paint();
  7. console.log('after hide(), the node visible = ', node.get('visible'));
  8. });
  9. // 鼠标点击边,隐藏该边
  10. graph.on('edge:click', ev => {
  11. const edge = ev.item;
  12. console.log('before hide(), the edge visible = ', edge.get('visible'));
  13. edge.hide();
  14. graph.paint();
  15. console.log('after hide(), the edge visible = ', edge.get('visible'));
  16. });
  17. // 鼠标点击画布,显示所有节点和边
  18. graph.on('canvas:click', ev => {
  19. const nodes = graph.getNodes();
  20. const edges = graph.getEdges();
  21. nodes.forEach(node => {
  22. node.show();
  23. });
  24. edges.forEach(edge => {
  25. edge.show();
  26. });
  27. graph.paint();
  28. });