2016-09-26 59 views
1

任何人都可以帮助我在这个visjs网络中动态添加边界吗? 实际上,我尝试使用拖放功能将节点添加到画布上,但当我单击节点并将边缘动态添加到画布上存在的另一个节点时,我需要帮助添加边缘。动态添加边界

回答

1

您可以使用vis.js的'update'函数来添加节点或边缘。您只需传入一组包含要添加的节点或边的数组。你这样称呼它: - nodes.update(updateNodesArray) OR - edges.update(updateEdgesArray)

其中节点和边缘是您最初为网络创建的vis.DataSet实例。

0

从visjs检查此示例。 http://visjs.org/examples/network/other/manipulation.html

,你可以自定义添加的方式\编辑\删除通过配置网络如下:

manipulation: { 
     enabled: false, 
      addNode: function (data, callback) { 
       // filling in the popup DOM elements 
       console.log('add', data); 
      }, 
      editNode: function (data, callback) { 
       // filling in the popup DOM elements 
       console.log('edit', data); 
      }, 
      addEdge: function (data, callback) { 
       console.log('add edge', data); 
       if (data.from == data.to) { 
        var r = confirm("Do you want to connect the node to itself?"); 
        if (r === true) { 
         callback(data); 
        } 
       } 
       else { 
        callback(data); 
       } 
      } 
     } 
+0

什么,他问的是建立在拖放egdes。 –

+0

他想通过单击节点而不是单击工具栏进入编辑模式。 –

+0

以上示例显示了通过进入编辑模式(单击编辑按钮)(可以使用vis函数)通过​​d&d, 添加边的选项。 然后进入添加边缘模式(可以通过使用vis函数)。 只有vis允许您将边从一个节点拖到另一个节点。 这将显示边缘拖动动画,并通过拖放,它将进入可在vis选项操作部分中定制的功能(如上所述)。 现在希望这个更清楚。 – TERMIN