element 动态合并表格的步骤


Posted in Javascript onDecember 31, 2020

前言

element 官方的例子太简单了,不满足实际的需求

数据肯定是动态的,合并的行数,列数都是动态的,该如何知道每一行的合并数呢

需求

动态合并表格,数据来源于数据库

正文

一开始,我的数据源是单独的数组,表格数据合并了几个数据,

我根据各个数组的长度,来决定每一行的合并数

结果:有些数据是正常的,但有些又合并出错了。计算的方式不对

element 动态合并表格的步骤

尝试二 

dataPretreatment() 用这个方法 计算出每一行的行数

dataPretreatment(){  //表格数据列合并预处理,生成一个与行数相同的数组记录每一行设置的合并数
    // 如果是第一条记录(索引为0),向数组中加入1,并设置索引位置;
    // 如果不是第一条记录,则判断它与前一条记录是否相等,如果相等,
    // 则向mergingRows中添入元素0,并将前一位元素+1,表示合并行数+1,
    // 以此往复,得到所有行的合并数,0即表示该行不显示。
     for(let i = 0; i < this.tableData.length; i ++){ // tabledata 表格数据源
       if(i === 0){
         this.mergingRows.push(1)
         this.mergingPos = 0
       }else {
        if(this.tableData[i].name === this.tableData[i - 1].name) { //哪些数据是要合并的 合并的条件是什么
         
          this.mergingRows[this.mergingPos] +=1
          this.mergingRows.push(0)
        }else {
          this.mergingRows.push(1)
          this.mergingPos = i
        }
       }
     }
   },

用这个方法 mergeColumn()绑定到官方提供的span-method 方法上面

element 动态合并表格的步骤

mergeColumn({row, column, rowIndex, columnIndex}){
     if (columnIndex === 0) { //第一列
       const _row = this.mergingRows[rowIndex];
       const _col = _row>0 ? 1 : 0;
       return {
        rowspan: _row,
        colspan: _col
       }
     }
    // if(columnIndex === 1){ //第二列 每一行的条件可以不一样 这样就是动态多样合并表格啦
    //   const _row = this.mergingRows[rowIndex];
    //   const _col = _row>0 ? 1 : 0;
    //   return {
    //     rowspan: _row,
    //     colspan: _col
    //   }
    // }   
   },

展示结果

element 动态合并表格的步骤

注意注意

      1. 第一列 计算出要合并的行数

element 动态合并表格的步骤

2.发现鼠标在表格移动  mergeColumn()这个方法一直在调用

Fannie式总结

一定要高清每一行的合并行数,按列来区分的

切记切记哦!不然表格合并出来的 跟你想象的不一样

以上就是element 动态合并表格的步骤的详细内容,更多关于element 动态合并表格的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
javascript 操作文件 实现方法小结
Jul 02 Javascript
改变状态栏文字的js代码
Jun 13 Javascript
javascript实现全局匹配并替换的方法
Apr 27 Javascript
jQuery实现的多滑动门,多选项卡效果代码
Mar 28 Javascript
全面理解闭包机制
Jul 11 Javascript
深入理解javascript函数参数与闭包
Dec 12 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
详解React native全局变量的使用(跨组件的通信)
Sep 07 Javascript
vue + vuex todolist的实现示例代码
Mar 09 Javascript
Vuex的初探与实战小结
Nov 26 Javascript
如何在vue中使用jointjs过程解析
May 29 Javascript
基于JavaScript实现简单的轮播图
Mar 03 Javascript
vue导入.md文件的步骤(markdown转HTML)
Dec 31 #Vue.js
Selenium执行JavaScript脚本的方法示例
Dec 31 #Javascript
javascript实现随机抽奖功能
Dec 30 #Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 #jQuery
微信小程序弹窗禁止页面滚动的实现代码
Dec 30 #Javascript
vue-cli4.0多环境配置变量与模式详解
Dec 30 #Vue.js
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 #Vue.js
You might like
PHP SOCKET编程详解
2015/05/22 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
2013/12/27 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
jquery validate demo 基础
2015/10/29 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
python 自定义对象的打印方法
2019/01/12 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
室内设计专业个人的自我评价
2013/12/18 职场文书
奠基仪式主持词
2014/03/20 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
小学生毕业评语
2014/12/26 职场文书
留学推荐信怎么写
2015/03/26 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
神秘岛读书笔记
2015/07/01 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python