Tabulator - изменение размера заголовка столбца при изменении размера шрифта - PullRequest
0 голосов
/ 24 октября 2018

Я использую Tabulator и функцию "fitData" по умолчанию для размера ячеек.Это работает точно так, как задумано, когда я a) установил размер шрифта по умолчанию и b) изменил размер шрифта строки с помощью rowFormatter:

        rowFormatter:function(row){
        var rowData = row.getData();
        row.getElement().style.fontSize = config.body_font_size + "px";

Однако вышеприведенное работает, когда я хочу изменить размер шрифтазаголовков столбцов:

var curHeaders = document.getElementsByClassName("tabulator-col");
for (var i = 0; i < curHeaders.length; i++) {
    curHeaders[i].style.fontSize = fontSize.toString() + "px";
}

При этом изменяются все размеры шрифта столбца, но не изменяется размер столбца соответствующим образом.Есть ли другой класс, где я должен назначить шрифт?Есть ли способ применить это аналогичным образом для rowFormatter?

1 Ответ

0 голосов
/ 24 октября 2018

Вы не должны пытаться программно изменять элементы в Табуляторе вне таблицы.Поскольку Tabulator использует виртуальный DOM, эти изменения могут быть перезаписаны в любой момент без уведомления.

Если вам нужно отформатировать заголовки столбцов, вы должны использовать 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?

...