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 };

}

}

}

}

相关推荐
How_doyou_do9 分钟前
模态框的两种管理思路
java·服务器·前端
snow@li33 分钟前
前端:前端/浏览器 可以录屏吗 / 实践 / 录制 Microsoft Edge 标签页、应用窗口、整个屏幕
前端·浏览器录屏·前端录屏·web录屏
李贺梖梖39 分钟前
CSS学习
前端·css
蚂小蚁1 小时前
一文吃透:宏任务、微任务、事件循环、浏览器渲染、Vue 批处理与 Node 差异(含性能优化)
前端·面试·架构
狼性书生1 小时前
uniapp实现的Tab 选项卡组件模板
前端·uni-app·vue·组件·插件
吃饺子不吃馅1 小时前
前端画布类型编辑器项目,历史记录技术方案调研
前端·架构·github
许___1 小时前
el-table多选模式下跨分页保留当前页选项
javascript·vue.js
拜晨1 小时前
使用motion实现小宇宙贴纸墙效果
前端·交互设计
梦想平凡1 小时前
情怀源代码工程实践(加长版 1/3):确定性内核、事件回放与最小可运行骨架
开发语言·javascript·ecmascript