vue3+element 表格单元格合并

//SKU合并列表数据

function objectSpanMethod({ row, column, rowIndex, columnIndex }:any){

let data = goodsList.value //拿到当前tatle 的数据

let cellValue = row[column.property]; //当前位置的值

let noSortArr = ['attr_string', 'goods_unit', 'goods_sum', 'sale_money', 'sum_shop_price', 'profit'] //不需要合并的字段(不进行合并行的prop)

if (cellValue && !noSortArr.includes(column.property)) {

let prevRow = data[rowIndex - 1]; //获取到上一条数据

let nextRow = data[rowIndex + 1]; //下一条数据

if (prevRow && prevRow[column.property] === cellValue) {

//当有上一条数据,并且和当前值相等时

return { rowspan: 0, colspan: 0 };

} else {

let countRowspan = 1;

while (nextRow && nextRow[column.property] === cellValue) {

//当有下一条数据并且和当前值相等时,获取新的下一条

nextRow = data[++countRowspan + rowIndex];

}

if (countRowspan > 1) {

return { rowspan: countRowspan, colspan: 1 };

}

}

}

}

相关推荐
Epicurus1 分钟前
JavaScript无阻塞加载的方式
前端·javascript
1024小神4 分钟前
tauri程序使用github action发布linux中arm架构
前端·javascript
ahhdfjfdf6 分钟前
最全的`Map` 和 `WeakMap`的区别
前端
LAM LAB9 分钟前
【VBA】WPS/PPT设置标题字体
javascript·powerpoint·vba·wps
JYeontu10 分钟前
实现一个带@功能的输入框组件
前端·javascript·vue.js
一颗奇趣蛋26 分钟前
vue-router的query和params的区别(附实际用法)
前端·vue.js
孤城28631 分钟前
MAC电脑常用操作
前端·macos·快捷键·新手·电脑使用
木亦Sam32 分钟前
Vue DevTools逆向工程:自己实现一个组件热更新调试器
前端
酷酷的阿云32 分钟前
动画与过渡效果:UnoCSS内置动画库的实战应用
前端·css·typescript
dleei32 分钟前
使用docker创建gitlab仓库
前端·docker·gitlab