如何在GoJS中动态添加Node数据和Link数据?

问题描述 投票:7回答:2
 myDiagram.model = new go.GraphLinksModel(
[

  { key: "Alpha", color: "lightblue" },
  { key: "Delta", color: "pink" }

],
[
  { from: "Alpha", to: "Alpha" },
  { from: "Delta", to: "Alpha" }
]);

我需要动态添加更多值,该怎么办?

javascript add gojs
2个回答
13
投票

节点数据(来源:GoJS docs, class Model):

如果要从nodeDataArray添加或删除节点数据,请调用addNodeDataremoveNodeData方法。

链接数据(来源:GoJS docs, class GraphLinksModel):

如果要从linkDataArray添加或删除链接数据,请调用addLinkDataremoveLinkData方法。如果要修改链接连接的节点,请调用setFromKeyForLinkData和/或setToKeyForLinkData方法。


0
投票

从对象列表动态添加到GraphLinksModel的示例:

       var model = new go.GraphLinksModel();
        for(let id = 1; id < node_list.length; id++){
       model.addNodeData( { key: node_list[id].getNodeID(), color: "lightblue" } );
       model.addLinkData( { from: node_list[id].getPreviousNode(), to: node_list[id].getNodeID() } );
         }
       myDiagram.model = model;  
       console.log(model.nodeDataArray); //to see data
© www.soinside.com 2019 - 2024. All rights reserved.