tke*_*lly 5 javascript chap-links-library
只是在玩vis.js一天,并浏览了所有文档和示例。我正在尝试找出使用单击事件刷新节点和边缘数据的最佳方法。例如,说我有一个没有边的节点,然后我单击它以添加 3 个子节点。vis.js 专家可以建议最好的方法吗?
预计之前:
nodes = [{id: 1, label:"Parent Node"} ];
edges = [ ];
Run Code Online (Sandbox Code Playgroud)
预期点击 id 1 后:
nodes = [{id: 1, label:"Parent Node"},
{id: 2, label:"Child Node1"},
{id: 3, label:"Child Node2"},
{id: 4, label:"Child Node3"} ];
edges = [ {from: 1, to: 2},
{from: 1, to: 3},
{from: 1, to: 4} ];
Run Code Online (Sandbox Code Playgroud)
然后我想折叠并回到没有孩子的父节点。我知道如何进行事件处理,这是我不确定的节点和边的更新和重绘。
一旦我发布,我就发现了我的错误,没有使用动态DataSet()。所以它应该是这样的:
var nodes = new vis.DataSet([{id: 1, label:"Parent Node"}]);
var edges = new vis.DataSet([]);
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样更新:
nodes.update({id: 2, label:"Child Node1"});
nodes.update({id: 3, label:"Child Node2"});
nodes.update({id: 4, label:"Child Node3"});
edges.update({from: 1, to: 2});
edges.update({from: 1, to: 3});
edges.update({from: 1, to: 4});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5034 次 |
| 最近记录: |