我使用 Mike Bostock 的树布局作为可搜索树的基础。我想知道用户是否可以在搜索框中输入名称,并且如果在树中找到它,树是否可以将其节点打开到命名节点。
`{
"name": "flare",
"children": [
{
"name": "analytics",
"children": [
{
"name": "cluster",
"children": [
{"name": "AgglomerativeCluster", "size": 3938},
{"name": "CommunityStructure", "size": 3812},
{"name": "HierarchicalCluster", "size": 6714},
{"name": "MergeEdge", "size": 743}
]
},
{
"name": "graph",
"children": [
{"name": "BetweennessCentrality", "size": 3534},
{"name": "LinkDistance", "size": 5731},
{"name": "MaxFlowMinCut", "size": 7840},
{"name": "ShortestPaths", "size": 5914},
{"name": "SpanningTree", "size": 3416}
]
},
{
"name": "optimization",
"children": [
{"name": "AspectRatioBanker", "size": 7074}
]
}
]
}, ...etc`
因此,例如节点全部关闭,只有根节点“flare”显示在屏幕上,用户搜索“MergeEdge”,该节点作为叶节点在“分析”下的“集群”下找到。然后,树将只打开那些显示“cluster”子节点所需的节点,因为那是找到“MergeEdge”的地方。我已经尝试过使用 jsonpath.js,但没有走得太远,并且我得到了这个问题的答案,但只有当节点打开时才会显示我正在搜索的那个。
我想使用不同的 json 文件,这些文件可能有太多节点来一次显示所有节点。