vue 中 elment-ui table合并上下两行相同数据单元格


Posted in Javascript onDecember 26, 2019

html :

<el-table
 :header-cell-style="{background:'#6d7f93',color:'white'}"
 :data="ptableDate"
 align="center"
 border
 v-loading="loading"
 :height="tableHeight"
 :span-method="objectOneMethod"
 >
 <el-table-column align="center" show-overflow-tooltip prop="projName" ></el-table-column>
 <el-table-column align="center" show-overflow-tooltip prop="dirtySection" ></el-table-column>
 <el-table-column align="center" show-overflow-tooltip prop="towerNumber" ></el-table-column>
 <el-table-column align="center" show-overflow-tooltip prop="inclination" ></el-table-column>
 </el-table>

method

objectOneMethod({ row, column, rowIndex, columnIndex }) {
 if (columnIndex === 0) {
 const _row = this.setTable(this.ptableDate).one[rowIndex];
 const _col = _row > 0 ? 1 : 0;
 return {
 rowspan: _row,
 colspan: _col
 };
 }
 if (columnIndex === 1 ) {
 const _row = this.setTable(this.ptableDate).two[rowIndex];
 const _col = _row > 0 ? 1 : 0;
 return {
 rowspan: _row,
 colspan: _col
 };
 }
 },
 setTable(tableData) {
 let spanOneArr = [],
 spanTwoArr = [],
 concatOne = 0,
 concatTwo = 0;
 tableData.forEach((item, index) => {
 if (index === 0) {
 spanOneArr.push(1);
 spanTwoArr.push(1);
 } else {
 if (item.projName === tableData[index - 1].projName) {
 //第一列需合并相同内容的判断条件
 spanOneArr[concatOne] += 1;
 spanOneArr.push(0);
 } else {
 spanOneArr.push(1);
 concatOne = index;
 }
 if (item.dirtySection === tableData[index - 1].dirtySection) {
 //第二列和需合并相同内容的判断条件
 spanTwoArr[concatTwo] += 1;
 spanTwoArr.push(0);
 } else {
 spanTwoArr.push(1);
 concatTwo = index;
 }
 }
 });
 return {
 one: spanOneArr,
 two: spanTwoArr
 };
 },

ps:下面看下ELEMENT-UI 合并单元格的方法

arraySpanMethod({ row, column, rowIndex, columnIndex }) {
// 只合并区域位置
  //columnIndex 横的第一列
  //rowIndex 竖的数组的length % 3 ==0 合并单元格
 if (columnIndex === 0) { //如果是第一行
if (rowIndex % 3 === 0) {//如果是 数组长度 % 3 ==0
return {
rowspan: 3,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}
},

vue 中 elment-ui table合并上下两行相同数据单元格

总结

以上所述是小编给大家介绍的vue 中 elment-ui table合并上下两行相同数据单元格,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript 模式设计之工厂模式学习心得
Apr 27 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
Dec 14 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
Feb 26 Javascript
js 调用百度地图api并在地图上进行打点添加标注
May 13 Javascript
利用a标签自动解析URL分析网址实例
Oct 20 Javascript
JQuery页面地址处理插件jqURL详解
May 03 Javascript
JS中Location使用详解
May 12 Javascript
javascript实现倒计时并弹窗提示特效
Jun 05 Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 Javascript
多个js毫秒倒计时同时进行效果
Jan 05 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
May 13 Javascript
java和js实现的洗牌小程序
Sep 30 Javascript
Vue使用虚拟dom进行渲染view的方法
Dec 26 #Javascript
node.js Promise对象的使用方法实例分析
Dec 26 #Javascript
js回调函数仿360开机
Dec 26 #Javascript
js仿360开机效果
Dec 26 #Javascript
element-ui中按需引入的实现
Dec 25 #Javascript
原生JS实现顶部导航栏显示按钮+搜索框功能
Dec 25 #Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 #jQuery
You might like
php实现的简单美国商品税计算函数
2015/07/13 PHP
php将html转为图片的实现方法
2017/05/19 PHP
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
pytorch实现查看当前学习率
2020/06/24 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
一套C++笔试题面试题
2012/06/06 面试题
如何整合JQuery和Prototype
2014/01/31 面试题
企业安全生产承诺书
2014/05/22 职场文书
小马王观后感
2015/06/11 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python