更改响应折叠模型中的默认+/-图标

时间:2019-01-24 16:45:46

标签: javascript tabulator

制表符中acceptCollapse折叠展开功能的默认图标未居中。是否有更改此图标的选项。也许是上下左右的胡萝卜?

1 个答案:

答案 0 :(得分:1)

responseCollapse 格式化程序只是与所有其他格式化程序一样的格式化程序,因此您可以创建自己喜欢的格式化程序。

这是内置的格式化程序,您可以将其用作自己的基础:

var customResponsiveCollapseFormatter = function(cell, formatterParams, onRendered){
    var self = this,
    open = false,
    el = document.createElement("div");

    function toggleList(isOpen){
        var collapse = cell.getRow().getElement().getElementsByClassName("tabulator-responsive-collapse")[0];

        open = isOpen;

        if(open){
            el.classList.add("open");
            if(collapse){
                collapse.style.display = '';
            }
        }else{
            el.classList.remove("open");
            if(collapse){
                collapse.style.display = 'none';
            }
        }
    }

    el.classList.add("tabulator-responsive-collapse-toggle");
    el.innerHTML = "<span class='tabulator-responsive-collapse-toggle-open'>+</span><span class='tabulator-responsive-collapse-toggle-close'>-</span>";

    cell.getElement().classList.add("tabulator-row-handle");

    if(self.table.options.responsiveLayoutCollapseStartOpen){
        open = true;
    }

    el.addEventListener("click", function(){
        toggleList(!open);
    });

    toggleList(open);

    return el;
}

el.innerHTML =行是设置元素内容的行,您可以在其中添加任意内容以自定义输出。

然后可以在列定义中分配它:

{formatter:customResponsiveCollapseFormatter, headerSort:false},

有关如何使用自定义格式器的详细信息,请参见Formatting Documentation