1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > antd中table实现动态单元格合并

antd中table实现动态单元格合并

时间:2022-02-21 19:20:59

相关推荐

antd中table实现动态单元格合并

最近项目使用的antd中的table,需求中也有需要对表格进行合并,在这之前发不过去elementUi的table合并单元格,其实大致思路是差不多的,只是稍微有些区别,话不多说直接上代码教大家!

红色部分是我合并的区域

其实原理就是取第一行数据为基准,与他的下一行数据进行对比,相同则合并数加1,不相同则合并数就默认为1

// 合并单元格const changeData = (source: any, field: any) => {field.forEach((f: any) => {// 重复项的第一项let count = 0; // 下一项let indexCount = 1; while (indexCount < source.length) {// 获取没有比较的第一个对象const item: any = source.slice(count, count + 1)[0]; if (!item[`${f}rowSpan`]) {// 初始化为1item[`${f}rowSpan`] = 1; }if (item[f] === source[indexCount][f]) {// 第一个对象与后面的对象相比,有相同项就累加,并且后面相同项设置为0item[`${f}rowSpan`]++;source[indexCount][`${f}rowSpan`] = 0;} else {count = indexCount;}indexCount++;}});};

changeData(data.dataSource, ['type', 'name', 'countyname', 'townshipname', 'villagecode', 'xmsz']);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。