2016-12-14 16 views
0

Я использую vis.js @version 4.10.0. У меня есть требование, когда мне нужно найти узлы во время выбора края.vis.js selectEdge и идентифицировать узлы

Я воспользовался приведенным ниже кодом для генерации графа.

var container = document.getElementById('mynetwork'); 
     var data = { 
     nodes: nodes, 
     edges: edges 
     }; 
     var directionInput = "UD"; 
     var options = { 
       layout:{randomSeed:6,improvedLayout:true}, 
     nodes: { 
      shape: 'circle', 
      shadow:true,width: 2, 
      size: 10, 
      "color": { 
      "background": "lightblue", 
      "border": "lightblue", 
      "highlight": "yellow" 
     }, 
     edges:{ 
      shadow: true, 
      arrows: 'to, from', 
      color: 'red', 
      font: '12px arial #ff0000', 
      scaling:{ 
       label: true, 
      } 
      }, 
     physics:{ 
    stabilization: true 
    }, 

      scaling:{ 
      label: { 
       min:12, 
       max:26 
      } 
      } 
     } 
     }; 
     network = new vis.Network(container, data, options); 

ответ

0

Первым шагом является вызов метода «» getSelectedEdges в сети, чтобы выяснить, какие ребра в данный момент выбран. Затем, предполагая, что ваши узлы и ребра являются экземплярами DataSet, вы можете использовать методы в DataSet для поиска рассматриваемого края, а затем требуемые идентификаторы узлов (это предполагает, что на самом деле пытается найти идентификаторы узлов, которые являются «от 'и' to 'для выбранного края). См.: http://visjs.org/docs/data/dataset.html для перечисления методов в DataSet.

Другим вариантом (который я использую) является создание ребер с идентификаторами, которые достаточно информативны, чтобы рассказать вам, какие узлы находятся в конечных точках края. Например, можно создать ребро с идентификатором «1_to_9». В этом случае, как только вы знаете edgeId, вы сразу же узнаете, каковы конечные точки узла.

 Смежные вопросы

  • Нет связанных вопросов^_^