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

}

}

}

}

相关推荐
软件技术NINI17 小时前
JavaScript性能优化实战指南
前端·css·学习·html
前端小配角18 小时前
React难上手原因找到了,原来是因为坑太多了。。。
前端
是你的小橘呀18 小时前
零基础也能懂!React Hooks实战手册:useState/useEffect上手就会,告别类组件
前端·架构
xhxxx18 小时前
从样式到结构:TailwindCss + Fragment 如何让 React 代码更干净、更高效
前端·css·react.js
Maxkim18 小时前
「✍️JS原子笔记 」深入理解JS数据类型检测的4种核心方式
前端·javascript·面试
小高00718 小时前
Elips-Core:轻量级 Node.js Web 框架核心实现
前端·javascript·node.js
Focus_18 小时前
SSE+broadcastChannel
前端
zabr18 小时前
前端已死?我用 Trae + Gemini 零代码手搓 3D 塔罗牌,找到了新出路
前端·人工智能·aigc
Aotman_18 小时前
Vue MutationObserver 监听
前端·javascript·vue.js·elementui·前端框架·ecmascript
专注前端30年18 小时前
Vue3的生命周期钩子有哪些变化?
前端·javascript·vue.js