【发布时间】:2017-01-06 13:20:56
【问题描述】:
我正在尝试使用广度优先布局在 Cytoscape 中创建可折叠的树结构,以复制 D3 collapsible tree。
我正在尝试在节点上复制这种类型的点击操作,但还添加了恢复功能 - Images & breadthfirst layout
我选择 Cytoscape 的原因是因为我有一个场景,即树的节点有多个父节点。
我尝试使用以下代码添加点击事件:
cy.on('tap', 'node', function() {
if (this.scratch().restData == null) {
// Save node data and remove
this.scratch({
restData: this.connectedEdges().targets().remove()
});
} else {
// Restore the removed nodes from saved data
this.scratch().restData.restore();
this.scratch({
restData: null
});
}
}
但是,这只会成功折叠和展开其直接子节点(其余节点仍然可见),并且当我点击叶节点时也会导致问题。
如果有人知道展开和折叠节点的方法,请提供帮助。
编辑:伙计们,如果有人也知道简单多级树的解决方案,那也是一个好的开始...
【问题讨论】:
-
此问题与
d3.js无关,标签可能应该被删除。不过,如果您对 d3 感兴趣,cytoscape看起来会产生d3会称为 force tree 的内容。
标签: javascript cytoscape.js cytoscape