1

我正在使用 vis.4.18.1。我有一个交互式图表,可以通过使用和
在地图上单击来添加或编辑节点。 如何在多行上设置节点标签? 我正在使用弹出表单收集标签数据。 我知道这可以在使用换行符创建地图时导入初始图表数据时完成,但这不能交互地工作并且节点标签看起来像: 'John Smith\nDate ofbirth'。 我也尝试将节点字体设置为 multi 并使用 html br 但这也不起作用。addNode()editNode()




4

1 回答 1

2

您是否尝试过以下方式:

node.username = "John Smith";
node.dateOfBirth = "Jun 18th 1978";
node.label = node.username + "\n" + node.dateOfBirth;

您可以通过 visJS 节点/数据集不固有的属性来扩展您的节点对象。也许这样你就可以解决你的问题。

编辑:我刚刚测试了这个示例,其中 node.label = node.title 在初始渲染上,并在选择节点时展开。

function expandNode(selectedNode){
  selectedNode.label = selectedNode.title + '\n' + 'a' + '\n' + 'b' + '\n' + selectedNode.problem;
  nodesObj.update(selectedNode); 
}

network.on('select', function(selection){
  let selectedNodes = nodesObj.get(selection.nodes); // nodesObj is a visjs dataSet
  if(selection.nodes.length === 1){
    expandNode(selectedNodes[0]);
  }
}

折叠节点 扩展节点

折叠和展开节点

于 2017-07-05T21:02:56.387 回答