我想只在选择边缘时显示标签,是否有库方法来执行此操作?
最终我想到有一个包括标签的边缘属性商店,这是个好主意吗?
没有这样的方法。
你可以做的是听selectEdge
事件,当选择边缘时,删除它的标签。取消选择边缘后,再次添加标签。
如果设置了边缘的label
字段,则显示标签。没有办法将其配置为表现不同。要隐藏标签,只需将值移动到隐藏字段,例如_label
或label_hidden
。然后,当你准备好显示标签时,请执行edge.label = edge._label
。
一个抬头:如果你delete edge.label
并通过DataSet.update
更新它,那么它将不会被删除。你必须将它设置为""
或null
。
我发现这种解决方法是实现它的最简单方法:
var options = {
edges: {
font: {
size: 0
},
chosen: {
label: function (values, id, selected, hovering) {
values.size = 14;
}
}
}
}
var network = new vis.Network(container, data, options);
说明:
所有边的字体大小都设置为0.所选边的字体大小设置为所需的值。
边注:
出于某种原因,这种方法不起作用。