我有一个使用 cytoscape 版本 3.15.2 和 cxtmenu 库版本 3.1.1 的应用程序。我有一个案例,我想根据条件在某些边上添加条件。我有一个名为“信息”的命令,我将其应用于图表中所有边缘的菜单:
let edges = {
menuRadius: 100,
selector: 'edge',
commands: [ ...
{ // info command
.........
}
]
}
我有另一个名为“expand”的命令,我想将其应用于边缘的扩展属性值为 true 的边缘。因此,对于满足此条件的边缘,我希望 info 和 expand 命令都可用。为此,我创建了另一个菜单变量,如下所示
let expandEdges = {
menuRadius: 100,
selector: 'edge[expand=true]',
commands: [ ...
{ // info command
.........
},
{ // expand command
.........
}
]
}
当我使用这个实现时,我将两个菜单变量都应用到图表中,我在图表上看到以下内容。
如果您观察到,info 和 expand 命令与我在所有边缘上应用的 info 命令重叠。我不确定如何使用选择器条件将命令应用于所有边缘和基于条件的一些命令。
我还想知道是否可以使用 selector: 'edge[type.contains'expand']' (子字符串检查)之类的东西作为选择器条件。
此外,我无法创建可重现的示例,因为这是一个非常庞大的应用程序的一部分。对此感到抱歉。