0

我发现 vis.js 非常有用,但现在需要将自定义“符号”(向上指示符、向下指示符等)添加到时间线中使用的范围元素的边缘(开始/结束)。

我可以在其他元素之前/之后添加单独的元素,但这需要付出更多的努力,并且会影响堆叠等。或者...我可以将 html 文本/符号放在表格中,并使用 css 将其强制到开头/结尾元素,但这似乎并不总是正确显示。

解决此问题的建议方法是什么?

4

1 回答 1

0

您应该在将呈现您的范围项目的选项中提供一个模板函数。

您的模板函数返回的内容可能是任何有效的 HTML,因此您可以使用 div、table 等来添加和定位额外的符号。

文件:

https://visjs.org/docs/timeline/#Templates

时间线支持模板来格式化项目内容。可以使用任何模板引擎(例如把手或小胡子),也可以手动构建 HTML。在选项中,可以提供一个模板处理程序。这个处理程序是一个函数,它接受一个项目的数据作为第一个参数,项目元素作为第二个参数,编辑后的数据作为第三个参数,并输出格式化的 HTML。

例子:

var options = {
  template: function (item, element, data) {
    return '<h1>' + item.header + data.moving?' '+ data.start:'' + '</h1><p>' + item.description + '</p>';
  },
  onMoving: function (item, callback) {
    item.moving = true;
  }
};
于 2019-07-02T10:48:20.060 回答