Can the merged cells of vue-easytable be merged based on dynamic data?

for example, the merged code in vue-easytable is as follows:

if (field === "type_name") {
    return {
        colSpan: 1,
        rowSpan: 3,
        content: rowData.type_name,
        componentName: ""
    }
}
Can

be merged into the same column of the same elements through conditional judgment? If so, how can it be realized? Thank you very much for asking the boss to solve your doubts.

< hr >

Note: a element-ui was asked before, but it turns out that the element-ui version of this project is too low to be used at all, and there are many contents that cannot be updated.

(this component is ugly and difficult to use, so it can"t be the best. Whisper bb..)

Mar.19,2021

after getting the table data, traverse and calculate where to merge, and merge several columns.

var keys = ['a','b','c']
    keys.forEach((key,i)={
        for(var i=0;i<arr.length;iPP){
            var rowSpan = 0;
            while(arr[i+1] && arr[i+1][key] == arr[i][key]){
                rowSpanPP
            }
            if(rowSpan){
                arr[i].rowSpan = rowSpan + 1
            i+=rowSpan
        }
    }
})
        
if (keys.includes(field) && rowData.rowSpan) {
    return {
        colSpan: 1,
        rowSpan: rowData.rowSpan,
        content: rowData[field],
        componentName: ''
    }
}

as for the ugly style, you can write your own style to cover his

.

it is not cost-effective to introduce components for table merging. You can encapsulate a general business component
paste a portal, and vue+element to merge tables across rows or columns

.
Menu