我使用Tabulator和默认的"fitData"函数来调整单元格的大小 . 这完全符合我的预期a)设置默认字体大小和b)使用rowFormatter更改行字体大小:
rowFormatter:function(row){
var rowData = row.getData();
row.getElement().style.fontSize = config.body_font_size + "px";
但是,当我想更改列 Headers 的字体大小时,上述工作原理:
var curHeaders = document.getElementsByClassName("tabulator-col");
for (var i = 0; i < curHeaders.length; i++) {
curHeaders[i].style.fontSize = fontSize.toString() + "px";
}
这会更改所有列字体大小,但不会相应地调整列宽 . 是否有一个不同的类我应该分配字体?有没有办法以类似于rowFormatter的方式应用它?
1 回答
您不应该尝试以编程方式从表格外部更改Tabulator内的元素 . 由于Tabulator使用虚拟DOM,因此可以随时覆盖这些更改,恕不另行通知 .
如果需要格式化列 Headers Headers ,则应在要更改的列的列定义中使用 titleFormatter :
有关如何使用格式化程序的完整文档,请访问:http://tabulator.info/docs/4.0/format
如果您需要继续使用您的方法,那么您可以调用表 redraw 函数来强制重建表:
是否有理由需要在运行时更改它而不仅仅是在CSS中进行更改?