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

}

}

}

}

相关推荐
nujnewnehc2 小时前
ps, ai, ae插件都可以用html和js开发了
前端·javascript
Jagger_5 小时前
整洁架构三连问:是什么,怎么做,为什么要用
前端
一个处女座的程序猿O(∩_∩)O5 小时前
React 完全入门指南:从基础概念到组件协作
前端·react.js·前端框架
前端摸鱼匠5 小时前
Vue 3 的defineEmits编译器宏:详解<script setup>中defineEmits的使用
前端·javascript·vue.js·前端框架·ecmascript
里欧跑得慢6 小时前
Flutter 测试全攻略:从单元测试到集成测试的完整实践
前端·css·flutter·web
Jagger_6 小时前
前端整洁架构详解
前端
徐小夕6 小时前
我花一天时间Vibe Coding的开源AI工具,一键检测你的电脑能跑哪些AI大模型
前端·javascript·github
英俊潇洒美少年6 小时前
Vue3 企业级封装:useEventListener + 终极版 BaseEcharts 组件
前端·javascript·vue.js
嵌入式×边缘AI:打怪升级日志6 小时前
使用JsonRPC实现前后台
前端·后端
小码哥_常7 小时前
深度剖析:为什么Android选择了Binder
前端