在GoJS中,如何设置一个节点在点击任何前一个节点的按钮时可见?

In GoJS how can I set a node visible when clicking button of it's any preceding node?

提问人:Hengbin Zheng 提问时间:11/17/2023 更新时间:11/17/2023 访问量:14

问:

我想实现一个功能:当我单击节点 A 中的按钮时,将出现所有具有 A 链接的节点。我尝试过 TreeExpanderButton,但效果不是我预期的。

我将用一个例子来说明我遇到的问题:

myDiagram.nodeTemplate =
    $(go.Node, "Spot",
        $(go.Panel, "Auto",
        $(go.Shape, "Rectangle",
            { fill: "gold" }),
        $(go.TextBlock, "Click small button\nto collapse/expand subtree",
            { margin: 5 },
            new go.Binding("text", "key"))
        ),
        $("TreeExpanderButton",
        { alignment: go.Spot.Bottom, alignmentFocus: go.Spot.Top },
        { visible: true })
    );

    myDiagram.layout = $(go.TreeLayout, { angle: 90 });

    myDiagram.model = new go.GraphLinksModel(
        [ { key: 1 },
          { key: 2 },
          { key: 3 },
        ],
        [ { from: 1, to: 3 },
          { from: 2, to: 3 }] );
    myDiagram.nodes.each(function(n) {
        n.wasTreeExpanded = false; 
        n.isTreeExpanded = false;
    })

上面是我的图表的结构。当我单击节点 1 的 TreeExpanderButton 时,将出现节点 3。但是当我单击节点 2 的此类按钮时,节点 3 将不会出现。我想这是因为节点 3 在树结构中是节点 1 的子节点,但我希望在单击任何前一个节点的按钮时出现一个节点。我怎样才能实现这个目标?

javascript 打字稿 gojs

评论


答: 暂无答案