0

右键单击节点时,我正在向节点显示其他详细信息。现在我想在仅选择节点而不是右键单击时在其他地方显示这些详细信息。

有没有办法从装饰/上下文菜单制作 SVG

我试着表现得好像 contextMenu 是一个普通的节点

我打了电话

diagram.makeSVG({
    parts: diagram.selection.first().adornments.first()
})

或者

diagram.makeSVG({
    parts: diagram.selection.first().contextMenu
})

但都没有奏效。

我总是收到错误“无法设置未定义的属性‘重置’”

diagram.makeSVG({
    parts: diagram.selection.first().adornments 
})

以某种方式工作而没有错误,这很奇怪,因为adornments它给出了一个迭代器。这样就创建了 SVG(我看到这个是在查看我之后放置的 HTML),但没有任何内容。

如何从 contextMenu正确创建 SVG ?

4

1 回答 1

1

首先, Diagram.makeSvg方法的参数的“parts”属性需要一个集合,即一个Iterable

其次,如果想要Diagram.makeSvgDiagram.makeImage渲染Adornment或其他临时Part,则需要指定“showTemporary”。 // assuming myDiagram.selection.count > 0: var svg = myDiagram.makeSvg({ parts: myDiagram.selection.first().adornments, showTemporary: true }); 这将包括为所选部件显示的任何上下文菜单。

第三,如果你只想渲染一个 GoJS 上下文菜单: var cm = myDiagram.selection.first().findAdornment("ContextMenu"); if (cm === null) return; var ads = new go.List(); ads.add(cm); var svg = myDiagram.makeSvg({ parts: ads, showTemporary: true });

于 2015-08-21T18:06:54.690 回答