右键单击节点时,我会显示该节点的其他详细信息。 现在,当仅选择节点而不是右键单击节点时,我想在其他地方显示这些详细信息。
有没有办法从装饰/上下文菜单制作 SVG
我尝试将 contextMenu 视为普通节点
我打电话
diagram.makeSVG({
parts: diagram.selection.first().adornments.first()
})
或者
diagram.makeSVG({
parts: diagram.selection.first().contextMenu
})
但都不起作用。
我总是收到错误“无法设置未定义的属性‘重置’”
尝试
diagram.makeSVG({
parts: diagram.selection.first().adornments
})
以某种方式没有错误地工作,这很奇怪,因为装饰
提供了一个迭代器。这样就创建了 SVG(我在查看 HTML 时看到了它,然后将其放置在其中),但没有任何内容。
如何正确从 contextMenu 创建 SVG?
最佳答案
首先,Diagram.makeSvg方法的参数的“parts”属性需要一个集合,即Iterable。
其次,如果您希望Diagram.makeSvg或Diagram.makeImage渲染装饰或其他临时部件 s,您需要指定“showTemporary”。
//假设 myDiagram.selection.count > 0:
var svg = myDiagram.makeSvg({
部分:myDiagram.selection.first().adornments,
显示临时: true
});
这将包括为所选部分显示的任何上下文菜单。
第三,如果您只想渲染 GoJS 上下文菜单:
var cm = myDiagram.selection.first().findAdornment("ContextMenu");
if (cm === null) 返回;
var ads = new go.List();
广告.添加(厘米);
var svg = myDiagram.makeSvg({
部分:广告、
显示临时: true
});
关于javascript - contextMenu的GoJS makeSvg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32115773/