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 相关文章推荐
Js判断参数(String,Array,Object)是否为undefined或者值为空
Nov 04 Javascript
jquery $.fn $.fx是什么意思有什么用
Nov 04 Javascript
JS小游戏之象棋暗棋源码详解
Sep 25 Javascript
jQuery回调函数的定义及用法实例
Dec 23 Javascript
jQuery插件datepicker 日期连续选择
Jun 12 Javascript
Bootstrap 树控件使用经验分享(图文解说)
Nov 06 Javascript
详解vue+css3做交互特效的方法
Nov 20 Javascript
vue中使用vue-cli接入融云实现即时通信
Apr 19 Javascript
package.json配置文件构成详解
Aug 27 Javascript
element-ui 本地化使用教程详解
Oct 28 Javascript
vue下axios拦截器token刷新机制的实例代码
Jan 17 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
Feb 01 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
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
动态加载iframe
2006/06/16 Javascript
用javascript自动显示最后更新时间
2007/03/15 Javascript
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
Python最长公共子串算法实例
2015/03/07 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
Python中的rfind()方法使用详解
2015/05/19 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
Python的pygame安装教程详解
2020/02/10 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
国际商贸专业自荐信
2014/06/09 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
义诊活动总结
2015/02/04 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
MySQL数字类型自增的坑
2021/05/07 MySQL
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python