elementui组件table表,同时合并列合并行的解决办法

项目需要实现每三行合并两行,然后每三行合并三列,下图这种效果:

代码:

el-table
      :data="tableData"
      :span-method="arraySpanMethod"
      border
      style="width: 100%">
      <el-table-column
        prop="id"
        label="ID"
        width="180">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名">
      </el-table-column>
      <el-table-column
        prop="amount1"
        sortable
        label="数值 1">
      </el-table-column>
      <el-table-column
        prop="amount2"
        sortable
        label="数值 2">
      </el-table-column>
      <el-table-column
        prop="amount3"
        sortable
        label="数值 3">
      </el-table-column>
    </el-table>

vue部分:

var Main = {
    data() {
      return {
        tableData: [{
          id: ‘12987122‘,
          name: ‘王小虎‘,
          amount1: ‘234‘,
          amount2: ‘3.2‘,
          amount3: 10
        }, {
          id: ‘12987123‘,
          name: ‘王小虎‘,
          amount1: ‘165‘,
          amount2: ‘4.43‘,
          amount3: 12
        }, {
          id: ‘12987124‘,
          name: ‘王小虎‘,
          amount1: ‘324‘,
          amount2: ‘1.9‘,
          amount3: 9
        }, {
          id: ‘12987125‘,
          name: ‘王小虎‘,
          amount1: ‘621‘,
          amount2: ‘2.2‘,
          amount3: 17
        }, {
          id: ‘12987126‘,
          name: ‘王小虎‘,
          amount1: ‘539‘,
          amount2: ‘4.1‘,
          amount3: 15
        }, {
          id: ‘12987126‘,
          name: ‘王小虎‘,
          amount1: ‘666‘,
          amount2: ‘4.1‘,
          amount3: 15
        }, {
          id: ‘12987126‘,
          name: ‘王小虎‘,
          amount1: ‘777‘,
          amount2: ‘4.1‘,
          amount3: 15
        }, {
          id: ‘12987126‘,
          name: ‘王小虎‘,
          amount1: ‘888‘,
          amount2: ‘4.1‘,
          amount3: 15
        }, {
          id: ‘12987126‘,
          name: ‘王小虎‘,
          amount1: ‘999‘,
          amount2: ‘4.1‘,
          amount3: 15
        }]
      };
    },
    methods: {
      arraySpanMethod({ row, column, rowIndex, columnIndex }) {

        if(columnIndex === 0) {
          if ((rowIndex+1) % 3 === 1) {
            return {
              rowspan: 2,
              colspan: 1
            };
          }else if ((rowIndex+1) % 3 === 0 ) {
            return [1, 3];
          }
        }
      },

      objectSpanMethod({ row, column, rowIndex, columnIndex }) {

      }
    }
  };
var Ctor = Vue.extend(Main)
new Ctor().$mount(‘#app‘)

原文地址:https://www.cnblogs.com/scallop/p/11357142.html

时间: 2024-10-29 15:15:42

elementui组件table表,同时合并列合并行的解决办法的相关文章

You can&#39;t specify target table &#39;表名&#39; for update in FROM clause”解决方法

You can't specify target table '表名' for update in FROM clause 翻译为:不能先select出同一表中的某些值,再update这个表. 错误语句: update w_workitems ww set ww.endTime = ww.createTime where ww.gid in(select * from a_travel a ,w_workitems b where a.instance_id = b.instanceId and

mysql如果在使用多表连查时,两张或多张表出现相同的字段名的解决办法

多表查询时,mysql语句为: select a.*,b.* from 表A名 as a left join 表B名 as b on a.字段名=b.字段名; 当出现两个相同字段名字时,比如相同字段名为name,就可以a.name as aname,b,name as bname; 语句为: select a.name as aname,b.name as bname from as a left join 表B名 as b on a.字段名=b.字段名; mysql如果在使用多表连查时,两张或

js-serialize()序列化表单,中文出现乱码的解决办法

今天遇到js序列化表单,中文乱码的问题,不知道是不是jq的bug, 终于找到解决办法,可以调用decodeURIComponent(XXX,true);将数据解码, 比如:var data = $('#theFrom').serialize(); data_params = decodeURIComponent(data,true); 如此即可解决中文乱码问题.

Android ScrollView中的组件设置android:layout_height=&quot;fill_parent&quot;不起作用的解决办法

例子,在ScrollView下加入的组件,无论如何也不能自动扩展到屏幕高度. 布局文件. [html] <?xml version="1.0" encoding="utf-8"?> <!-- 背景:蓝色 --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/scrollV

jquery 实现table的动态合并列

常见的table是一行一列的形式,当有时会遇到后台的数据在前台显示时, 需要显示多对一,eg: 这是后台初始的数据,现在我要显示为: 思路:将第3列的td的rowspan改为为行数, 删除第一行之外的其他行的第三列数据, jq代码如下: var num=$('table tr').length;$(' tr:not(:first) .row2').remove();$('.row2').attr('rowspan',num); 注意点:这里的row2为第3列td的class.

易语言调用csharp写的COM组件的程序在Win2008上奔溃的解决办法

易语言调用csharp写的COM组件,除了要注册csharp写的dll之外(由于是.net代码,需要用.net自带的注册工具RegAsm.exe注册,具体注册方法为: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe dotnet_lib.dll /tlb 这种调用的方法,在大部分的机器下捣鼓之后能成功,但是也有不成功的案例,具体表现如下: 一开始我以为是少了哪些dll,后来上百度,一找关键字“StackHash_0a9e”,还真能

ajax提交完表单数据依然跳转的解决办法

1. 既然ajax提交数据,就把表单里面submit按钮换掉,因为触发submit他就会跳转页面 提交的时候他会先触发ajax 再触发submit的提交 2.如果确定了表单没有submit,那么把提交的按钮的onclick属性值设置为 onclick="return false;" jquery写事件触发的时候建议不直接用$('#vel').click(function(){})     写成绑定事件 $('#vel').on(click(function(){}))

清空数据库错误:因为该表正由 FOREIGN KEY 约束引用 解决办法

如下解决了五个问题 1. 清空数据 2. 有外键也可以, 因为是逆向删除, 从最后一张表删除. 且使用的是delete, 因为truncate不能对有外键的表 3. 种子问题, 如果表存在种子重设为0, 如不存在就不操作 4. 加了事务, 中间报错, 有后悔机会 5. 截断日志功能, 因为使用delete, 删除后日志文件会增大, 可以不使用 if( object_id('pr_DataClear') is not null ) drop procedure pr_DataClear go cr

[转]MyBatis动态传入表名,字段名参数的解决办法

一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能.今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到.这种情况下,就需要构建sql来动态传入表名.字段名了.现在对解决方法进行下总结,希望对遇到同样问题的伙伴有些帮助. 动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理.下面让我们先