ElementUi中el-table表格单元格合并

vue利用sortablejs实现表格的拖拽排序 阅读详情
<template>
  <el-table :data="tableData" height="250" :span-method="objectSpanMethod" border style="width: 100%">
    <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
    <el-table-column prop="date" label="日期" width="180"> </el-table-column>
    <el-table-column prop="address" label="地址"> </el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: []
    }
  },
  computed: {
    //用于查找相同数据的数量
    tableDataColumn() {
      let dataObject = {}
      this.tableData.forEach((item, index) => {
        if (dataObject[item.name]) {
          dataObject[item.name].push(item)
        } else {
          dataObject[item.name] = [item]
        }
      })
      return dataObject
    }
  },
  created() {
    let tableData = [
      {
        date: '2016-05-03',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      },
      {
        date: '2016-05-02',
        name: '王力',
        address: '上海市普陀区金沙江路 1518 弄'
      },
      {
        date: '2016-05-04',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      },
      {
        date: '2016-05-01',
        name: '王力',
        address: '上海市普陀区金沙江路 1518 弄'
      },
      {
        date: '2016-05-08',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      },
      {
        date: '2016-05-06',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      },
      {
        date: '2016-05-07',
        name: '王丹',
        address: '上海市普陀区金沙江路 1518 弄'
      }
    ]
    //模拟接口返回速度
    setTimeout(() => {
      this.tableData = this.selectionSort(tableData)
    }, 500)
  },
  methods: {
    //将名称相同的数据进行结合-重新排序-辅助表格合并
    selectionSort(arr) {
      //考虑到后台数据返回一般在created执行,computed优先级高于created,
      // tableDataColumn执行时this.tableData无法及时获取值-重新筛选一次
      const arrList = new Map()
      arr.forEach((item, index) => {
        if (arrList.has(item.name)) {
          let value = arrList.get(item.name)
          value.push(item)
          arrList.set(item.name, value)
        } else {
          arrList.set(item.name, [item])
        }
      })
      let newList = []
      for (let item of [...arrList]) {
        newList = newList.concat(item[1])
      }
      return newList
    },
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      if (columnIndex === 0) {
        if (rowIndex > 0 && row.name === this.tableData[rowIndex - 1].name) {
          return {
            rowspan: 0,
            colspan: 0
          }
        } else {
          const name = row.name
          //此处采用computed计算属性-存在缓存
          const rows = this.tableDataColumn[name]
          return {
            rowspan: rows.length,
            colspan: 1
          }
        }
      }
    }
  }
}
</script>

结果展示

 

【vue2拖拽】使用sortablejs实现拖拽效果 阅读详情

相关推荐

Element表格之表头合并、行合并和列合并

要进行表格合并,关键在于你要对数据渲染的前进行判断处理,在这里,首先要在table中写入:span-method=‘objectSpanMethod’,然后在js部分写上方法。这里主要使用到:header-cell-style="handerMethod"和:span-method="spanMethod"用来合并行和列。这里判断的方式就有些不同了。列合并相对于行合并要简单,但是要确定好你要合并哪一行,如果表格是固定的,就轻松多了,只要给对应的那几行进行合并即可。-cell-style对表头做了一些处理。

szzlh123456789的博客 4251

SortableJS,一个简单的 JS 拖拽库

SortableJS,一个简单的 JS 拖拽库

马赛克大战的博客 1万+

Vue 表单 常见的选择框

Vue 表单 常见的选择框在 Vue 开发中,表单是一个非常重要且常见的组件。而选择框是表单中常用的一种元素,它可以让用户从多个选项中选择一个或多个。本文将介绍一些 Vue 中常见的选择框,并提供相应的源代码示例。

CodeWhizZ的博客 1532

Sortable.js:功能强大的JavaScript 拖拽库

Sortable.js:功能强大的JavaScript 拖拽库

流绪@微梦 1万+

EEG | CHB-MIT癫痫数据集CNN分类实战(一)

CHB-MIT癫痫数据集CNN分类实战

Always learn from the best. 1万+

微信小程序 - 实现仿小红书轮播图组件功能,类似小红书笔记页面图片展示播放效果,微信小程序仿小红书幻灯片轮播支持视频播放、图片预览,自动适应图片或视频大小可左右滑动切换(小程序精美轮播图,丝滑切换)

微信小程序,轮播图组件,微信小程序仿小红书轮播图,小红书轮播图仿造,微信小程序轮播图,微信小程序幻灯片,微信小程序高仿小红书轮播图实现,小程序实现类似小红书一样的轮播图组件,轮播图插件,精致轮播图,精美丝滑流畅切换的轮播图,轮播图组件,小红薯轮播图,关于小红书的小程序不同数量的轮播图,展示不一样的轮播指示点的实现,微信小程序仿小红书图片轮播,开发微信小程序模仿小红书,高仿小红书Banner的指示器,小红书小程序笔记详情轮播图指示点的随图片数量的变化动态变化,微信小程序swiper轮播图,js轮播图,html

✅ 精选推荐文章 6929

el-table实现表格合并

(Element UI 的表格组件)时,你可以通过自定义合并单元格的逻辑来实现表格单元格的合并。Element UI 提供了。,从而实现表格行的合并。我这里的需求是排除第4、5和6列的合并(基于0索引),其他列根据。来判断当前行是否与前一行相同,如果相同则增加合并数量,否则重置合并计数。:这个方法用于计算每一行需要合并的数量,并存储在。以下是一个详细的思路和示例,展示如何在。属性,用于控制行或列的合并。: 这个方法根据列索引和。中的值来确定单元格的。

sh11223312的博客 1232

台区同期线损智能诊断与闭环治理体系及工程化实践

高损台区:同期线损率>预设阈值(通常为8%,可根据区域、台区类型调整);负损台区:同期线损率<0,即供电量小于售电量,多由档案、计量、拓扑错误导致;波动损台区:月度线损率波动幅度>预设阈值(通常为5%),且无合理原因;持续异常台区:连续2个及以上周期线损率不达标,且未完成有效整改。台区同期线损智能诊断与闭环治理体系,以电力大数据为基础、智能诊断模型为核心、标准化流程为保障,彻底解决了传统线损治理“异常发现慢、定位难、整改乱、无闭环”的痛点,实现了线损治理从“人工经验驱动”向“数据智能驱动”的根本性转型。

getusushu的博客 204

el-table表格合并单元格实现步骤

在需要合并单元格的el-table表格上绑定 :span-method="arraySpanMethod"在method中添加方法arraySpanMethod。el-table表格合并单元格

qq_46103732的博客 849

uniapp [全端兼容] - 最新详细实现拍摄视频录像并可播放预览视频,调起本机摄像头开启录像录制完毕后保存到本机临时存放,可对拍摄的视频进行压缩处理减少文件大小不损失画质,详解录制视频并读取播放!

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,录视频,拍视频,拍摄录制视频后上传服务器,调起摄像头录视频并可预览,录视频上传,录像,uniapp录制视频并上传,录制视频并保存到本地设备,如何本地保存并播放预览,提供给用户观看MP4视频录像并上传到后端服务器完整功能源码,视频压缩,mp4文件,删除视频,录像后怎么预览,临时视频文件怎么减少压缩大小,视频压缩及上传,自己录视频并生成可播放的文件,录视频并能打开查看,视频压缩后上传,本机相册,录完怎么预

🏆 前端领域优质创作者 1万+

从 Material Requirements Planning 看 SAP 物料计划的底层控制逻辑

文章摘要:SAP中的MRP(物料需求计划)不仅仅是运行一个程序(如MD01N),其关键在于主数据和组织层级的正确配置。MRP的核心是解决"何时需要多少物料"的问题,涉及采购、生产、库存等多种供应来源。物料主数据的MRP视图必须在组织层级(如工厂、存储位置)下维护,不同层级的计划逻辑可能完全不同。S/4HANA更强调MRP Area作为细分计划单位,取代传统存储位置MRP。实施时需注意MRP Profile的合理使用,避免批量错误,并特别关注物料生命周期管理(如停用物料和替代件),这些因素共同决定了MRP能否

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1412

前端vue+elementui导出复杂(单元格合并,多级表头)表格el-table转为excel导出

el-table导出excel 前端导出excel文件 xlsx导出数据重复

MadSnail00的博客 4852

基于Keil软件实现对射式红外传感器计次 (江协科技HAL库)

用HAL库复现江协科技,让嵌入式学习之路更顺畅。

2401_82728381的博客 798

vue+ElementUI el-table表格再次封装集成单元格合并功能(行合并)

1、此功能已集成到TTable组件中 2、最终效果 3、demo地址 GitHub源码地址 Gitee源码地址 基于ElementUi或Antd再次封装基础组件文档

wocwin的博客 1752

ISO21434 组织网络安全管理(二)

为了实现网络安全工程,该组织建立并维护网络安全治理和网络安全文化,包括网络安全意识管理、能力管理和持续改进。这涉及到指定针对本文档的目标进行独立审计的特定于组织的规则和过程。 为了支持网络安全工程,该组织实施了网络安全的管理系统,包括管理工具和应用质量管理系统。

qq_42357877的博客 1322

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

el-table动态合并表格行单元格

将表格的span-method设置为'arraySpanMethod'

qq_46005282的博客 3580

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

使用el-table,将连续相同内容的单元格合并行

return [1,2] 是指 [rowspan: 1,colspan: 2],这里的意思渲染到当前rowIndex,columnIndex的单元格时,返回的占用情况[1,1]表示1行1格,当前的值,[0,0]表示不占任何单元格,[1,2]则表示该数据占1行2格,所以是将当前columnIndex和columnIndex+1的单元格合并,并显示columnIndex的值。我们可以将请求返回的数据,通过数据处理将每个单元格返回的rowspan和colspan计算好,放到参数,然后表格渲染的时候进行返回。

weixin_41090195的博客 1380

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

table表格 ---合并单元格

利用table的 :header-cell-style属性。利用官网提供的el-table-column互相嵌套。利用table的:span-method属性。

weixin_67849181的博客 4806

【elementUI中el-table中span-method 中传递自定义参数】

el-table中span-method 中传递自定义参数 :span-method="(param)=>rowSpanMethod(param,自定义参数)" /** *合并row */ rowSpanMethod({row, column, rowIndex, columnIndex},item) { return { rowspan: this.mergeRows(row[column.property],item.tableData, rowIndex,

limuzhixing的博客 3676

elementui——表格的相同内容单元格合并

elementui——表格的相同内容单元格合并 说明:工作中遇到需要根据单元格某个属性合并,特此记录下 效果图: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201202105501916.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDIwMjE2Ng==,size_16,color

夏沫之初的博客 3678

el-table 合并指定列

el-table

DejaVus的博客 606

el-table合并多个相同列

【代码】el-table合并多个相同列。

最爱松露巧克力 1248

elementui动态表格的合并单元格

接口返回的数据,动态的合并相同数据的单元格。如图。

fangcaojushi的博客 1008

el-table合并内容相同的表头、单元格,利用file-saver和XLSX纯前端导出多级表头表格,列宽根据内容长度动态设置,可直接复制

表头合并:el-table中加上这个方法 方法:单元格合并:和表头合并在同个位置加上这个方法: :span-method="genderSpanCity"主要是两个依赖:(xlsx 和 file-saver)…导出表格内容列宽根据长度动态设置显示

iseyre的博客 1383

el-tabel合并指定行、列单元格数据;合并列后不见了一列数据问题

【代码】el-tabel合并指定行、列单元格数据;合并列后不见了一列数据问题。

Jjacica的博客 928
上一篇: 使用 new Map进行数据筛选。
下一篇: element-ui中 table组件的 header具名插槽中数据不响应的问题
coder_wangs
博客等级 码龄5年 22粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值