首页 文章

制表符 - 当字体大小更改时,列 Headers 会调整大小

提问于
浏览
0

我使用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 回答

  • 0

    您不应该尝试以编程方式从表格外部更改Tabulator内的元素 . 由于Tabulator使用虚拟DOM,因此可以随时覆盖这些更改,恕不另行通知 .

    如果需要格式化列 Headers Headers ,则应在要更改的列的列定义中使用 titleFormatter

    //define custom formatter
    var customFormatter = function(cell, formatterParams, onRendered){
    
        //set font size
        cell.getElement().style.fontSize = fontSize.toString() + "px";
    
        return cell.getValue();
    }
    
    //in the column definition for a column
    {title:"Name", field:"name", titleFormatter:customFormatter },
    

    有关如何使用格式化程序的完整文档,请访问:http://tabulator.info/docs/4.0/format

    如果您需要继续使用您的方法,那么您可以调用表 redraw 函数来强制重建表:

    table.redraw(true);
    

    是否有理由需要在运行时更改它而不仅仅是在CSS中进行更改?

相关问题