我想创建两个级别的上下文菜单但是没有这个api。就像这样 level context menu image 我能做什么?
答案 0 :(得分:0)
不幸的是,目前的查看器版本无法使用它。您可能需要深入编写自己的上下文菜单。但是你可以遵循一个解决方法:
Autodesk.Viewing.UI.ObjectContextMenu
的功能以提供多级菜单。ObjectContextMenu
中的代码,然后在步骤1中创建您拥有的contextMenu
并将ContextMenu
属性替换为您拥有的多个级别Autodesk.Viewing.Extensions.ViewerObjectContextMenu
。ViewerObjectContextMenu
中的代码,然后编写从步骤2继承自定义ObjectContextMenu
的您拥有的{{1}}。<强> P.S。这只是一种解决方法,它不是正式的解决方案,您可能需要自担风险使用它。
答案 1 :(得分:0)
通过从Autodesk.Viewing.UI.ObjectContextMenu
派生来实现多级上下文菜单是相当直接的。只需在target
字段中提供一个数组:
buildMenu (event, node) {
var menu = []
switch (node.type) {
case 'hubs':
menu.push({
title: 'Show details',
className: 'fa fa-share',
target: [{
title: 'Hub details',
className: 'fa fa-cloud',
target: () => {
this.emit('context.details', {
event, node, type: 'hubs'
})
}
}, {
title: 'Projects details',
className: 'fa fa-folder',
target: () => {
this.emit('context.details', {
event, node, type: 'hubs.projects'
})
}
}]
})
break
可以在此处找到完整的示例:DataContextMenu.js