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

有没有办法从装饰/ contextMenu制作SVG

我试着像contextMenu是一个普通的Node

我打了电话

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?

最佳答案

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

其次,如果要使Diagram.makeSvg或Diagram.makeImage呈现装饰或其他临时零件,则需要指定“ 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 });

09-30 22:15