element 表格第一列合并,第二列展开后出现错位情况

2024-06-12 03:04

本文主要是介绍element 表格第一列合并,第二列展开后出现错位情况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

展开后发现蓝色一行挤下来,而且还错位了

解决思路:展开行,在dom上其实是新增了一行的高度,合并上新增一个高度就可以

<el-tablev-loading="tabLoading"fitref="oneRef"height="100%":span-method="objectSpanMethod"@expand-change="expandHeight"highlight-current-row
>async expandHeight(row: any, expanded: any) {this.$nextTick(() => {this.spanObj = dataMethod(this.data, ['factoryDivText']);const A10 = expanded.filter((k: any) => {return 'A10' == k.factoryDiv;});if (A10.length > 0) {this.spanObj.factoryDivText[0] = this.spanObj.factoryDivText[0] + A10.length;}const A20 = expanded.filter((k: any) => {return 'A20' == k.factoryDiv;});if (A20.length > 0) {let A20Index = 0;this.spanObj.factoryDivText.map((v: any, index: any) => {if (A10.length == 0) {this.spanObj.factoryDivText[0] = this.spanObj.factoryDivText[0] + A20.length;} else {if (index != 0 && v != 0) A20Index = index;}});this.spanObj.factoryDivText[A20Index] = this.spanObj.factoryDivText[0] + A20.length;}(this.$refs.oneRef as any).doLayout();});}export const dataMethod = (data: any[], isH: string[]) => {const spanObj: any = {};const pos: any = {};let lastItem: any = null; // 上一个数据项data.map((it, i) => {Object.keys(it).map(key => {if (i === 0) {spanObj[key] = [1];pos[key] = i;} else {if (isH.includes(key) && lastItem && isEqual(lastItem, it, isH)) {spanObj[key][pos[key]] += 1;spanObj[key].push(0);} else {spanObj[key].push(1);pos[key] = i;}}});lastItem = it;});return spanObj;
};objectSpanMethod({ column, rowIndex }: any) {const _row = this.spanObj[column.property] ? this.spanObj[column.property][rowIndex] : 1;const _col = _row > 0 ? 1 : 0;return {rowspan: _row,colspan: _col,};}

获取点击后合并的长度+合并的数字

最终结果展开后正常展示了

这篇关于element 表格第一列合并,第二列展开后出现错位情况的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053021

相关文章

如何利用Python实现给Excel表格截图

《如何利用Python实现给Excel表格截图》这篇文章主要为大家详细介绍了如何利用Python实现给Excel表格截图功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 我搜索了网络上的方案,感觉把 Excel 表格转换为 html 再用 platwright 截图是比China编程较顺

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

基于C#实现PDF文件合并工具

《基于C#实现PDF文件合并工具》这篇文章主要为大家详细介绍了如何基于C#实现一个简单的PDF文件合并工具,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下... 界面主要用于发票PDF文件的合并。经常出差要报销的很有用。代码using System;using System.Col

Python视频剪辑合并操作的实现示例

《Python视频剪辑合并操作的实现示例》很多人在创作视频时都需要进行剪辑,本文主要介绍了Python视频剪辑合并操作的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录介绍安装FFmpegWindowsMACOS安装MoviePy剪切视频合并视频转换视频结论介绍

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C