vue-easytable的合并单元格可以根据动态数据合并吗?

如题,vue-easytable中合并的代码如下:

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

可以通过条件判断实现同一列相同元素合并在一起吗?如果可以,怎么实现?求大佬解惑,感激不尽...


注:之前问了个element-ui的,结果这项目element-ui版本太低根本用不了,内容又多不能更新版本...

(这组件又丑又难用,不能实现最好了...小声bb..)

阅读 5.9k
2 个回答

拿到表格数据后,遍历计算下需要从哪里合并,合并几列不就可以了

var keys = ['a','b','c']
    keys.forEach((key,i)={
        for(var i=0;i<arr.length;i++){
            var rowSpan = 0;
            while(arr[i+1] && arr[i+1][key] == arr[i][key]){
                rowSpan++
            }
            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: ''
    }
}

至于样式丑,可以自己写样式把他的覆盖了

推荐问题
宣传栏