GoJS makeSvg 或 contextMenu

GoJS makeSvg of contextMenu

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

有没有办法从 adornment/contextMenu

制作 SVG

我试着把 contextMenu 当作普通节点

我打电话给

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

或者

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

但都没有用。

我总是得到错误 "cannot set property 'reset' of undefined"

正在尝试

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

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

如何从上下文菜单正确地创建 SVG?

首先,Diagram.makeSvg方法参数的"parts"属性需要一个集合,即可迭代.

其次如果你想Diagram.makeSvgDiagram.makeImage渲染装饰s或其他临时Parts,需要指定"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 });