我发现 vis.js 非常有用,但现在需要将自定义“符号”(向上指示符、向下指示符等)添加到时间线中使用的范围元素的边缘(开始/结束)。
我可以在其他元素之前/之后添加单独的元素,但这需要付出更多的努力,并且会影响堆叠等。或者...我可以将 html 文本/符号放在表格中,并使用 css 将其强制到开头/结尾元素,但这似乎并不总是正确显示。
解决此问题的建议方法是什么?
我发现 vis.js 非常有用,但现在需要将自定义“符号”(向上指示符、向下指示符等)添加到时间线中使用的范围元素的边缘(开始/结束)。
我可以在其他元素之前/之后添加单独的元素,但这需要付出更多的努力,并且会影响堆叠等。或者...我可以将 html 文本/符号放在表格中,并使用 css 将其强制到开头/结尾元素,但这似乎并不总是正确显示。
解决此问题的建议方法是什么?
您应该在将呈现您的范围项目的选项中提供一个模板函数。
您的模板函数返回的内容可能是任何有效的 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;
}
};