0

如何从制表器中的两个子字段创建两个数据树?

我试过这个,但它需要 Column2 来制作数据树。

var table = new Tabulator("#example-table", {
data: table,
dataTree:true,
dataTreeChildField:"Column1",
dataTreeChildField:"Column2"
})
4

1 回答 1

1

这不是一个有效的 JavaScript 对象,当您将两个属性添加到具有相同键的对象时,第二个会覆盖第一个。

不可能将两个字段指定为持有子字段,但您可以在表中创建一个额外的隐藏列,并使用一个 mutator 用其他两列的子字段填充它:

//child data mutator
var childDataMerge = function(value, data, type, params, component){
    if(Array.isArray(data.Column1) && Array.isArray(data.Column2)){
        return data.Column1.concat(data.Column2);
    }else{
        return [];
    }
}

//define table
var table = new Tabulator("#example-table", {
    data: table,
    dataTree:true,
    dataTreeChildField:"_children",
    columns:[
        //your normal columns go here

        //data mutation row
        {field:"_children", visible:false, mutatorData:childDataMerge}
    ]
});
于 2018-11-24T10:31:26.277 回答