经典语录:一切就像滑滑梯、一路上放肆张扬的笑了下来、最终重重的摔在下面、头破血流。 一、那些离开你的人,无论当初是出于什么原因离开的,也许他犹豫过挣扎过不舍过,但至少在他决定要走的那一瞬间,他觉得没有你,他会过得更好。 二、煮一壶茶折一枝白梅花 撑一把青伞泠泠雨落下 香桃木开满坟前惹风沙 谁的思念在石碑上发芽梦一场她城下作画 描一幅山水人家 雪纷纷下 葬了千层塔 生死隔断寂寞天涯梦一场她起弦风雅 奏一段白头韶华 雪纷纷下 葬了千层塔 似镜中月华他不知真假长安的誓言啊史书未写下。 三、我们单枪匹马闯入这世间,只为活出属于自己的所有可能。愿你这一生既有随处可栖的江湖,也有追风逐梦的骁勇。 四、 当你的才华还撑不起你的野心时,那你就应该静下心来学习;当你的经济还撑不起你的梦想时,那你就应该踏实的去工作;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌。 五、走错了记得回头,爱错了记得放手。 六、时间最会骗人,但也能让你明白,这个世界没有什么不能失去的。离去的都是风景,留下的才是人生。留到最后的人,就是对的人。 七、在青山绿水之间,我想牵着你的手,走过这座桥,桥上是绿叶红花,桥下是流水人家,桥的那头是青丝,桥的这头是白发。 八、让时间忘记我,让记忆忘记我,让思念忽略这一切。我汹涌或者平和的情绪,如水如梦。当人即使在梦中,仍不知幸福的所在,那才是最深的悲伤。一路的荒野,我们万水千山。 九、当你夜晚思念万千的时候,我的爱在你枕边与你细语,象哈哈哈催眠曲哄你入睡,甜甜地进入梦乡。爱是一种体会。用心体会到的爱,才是于细微深处见真情的爱,我对你的爱就是这种植入骨髓的爱。 十、好像每次都是这样,没有例外。在我们最需要有一个人去依靠的时候,往往到最后都是自己一个人挺过去。 十一、有些人,看起来好像是原谅你了,但其实,是因为你已经变得不那么重要了。 十二、活着呢,何必想那么多,何必问那么多,毕竟路是需要人走的,话是需要人说的,自己的世界,自己的沉淀,学会看人,学会看事,也要学会看自己,一辈子不容易,何必难为自己的全世界。 十三、愿意陪你的赶都赶不走,那些嘴上说说而已的,你也根本不必留。愿意比什么都重要也比什么都来得长久。 十四、不要着急,最好的总是在我们最不经意的时候出现,我们唯一能做的就是,怀揣希望去努力,静待美好的出现。 十五、世上除了生死,其他都是小事。不管遇到了什么烦心事,都不要自己为难自己;无论今天发生多么糟糕的事,都不要对生活失望,因为,还有明天。

elementUI表格内容的行列合并

说明:本篇采用2.12版本,在官方文档上面分别提供了行或列的合并,整合起来后根据个人或项目不同的需求,整合起来的合并效果会不相同,这里只进行举例。

文末说明示例弊端和本篇示例可调控范围

<template>
  <div>
    <el-table
      :data="tableData"
      :span-method="arraySpanMethod"
      border
      style="width: 100%">
      <el-table-column
        prop="addr"
        label="地址">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名">
      </el-table-column>
      <el-table-column
        prop="nameA"
        label="别名">
      </el-table-column>
      <el-table-column
        prop="amount1"
        label="数值 1">
      </el-table-column>
      <el-table-column
        prop="amount2"
        label="数值 2">
      </el-table-column>
      <el-table-column
        prop="amount3"
        label="数值 3">
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
  export default {
    name: "newTbTest",
    data() {
      return {
        tableData: [{
          addr: '成都',
          name: '王小虎1',
          nameA: '王小虎1',
          amount1: '234',
          amount2: '3.2',
          amount3: 10,
          id: '12987122'
        }, {
          addr: '成都',
          name: '王小虎2',
          nameA: '王小虎2',
          amount1: '165',
          amount2: '4.43',
          amount3: 12,
          id: '12987122'
        }, {
          addr: '长沙',
          name: '王小虎3',
          nameA: '王小虎3',
          amount1: '324',
          amount2: '1.9',
          amount3: 9,
          id: '12987122'
        }, {
          addr: '长沙',
          name: '王小虎4',
          nameA: '王小虎5',
          amount1: '621',
          amount2: '2.2',
          amount3: 17,
          id: '12987122'
        }, {
          addr: '长沙',
          name: '王小虎4',
          nameA: '王小虎6',
          amount1: '539',
          amount2: '4.1',
          amount3: 15,
          id: '12987122'
        }]
      };
    },
    methods: {
      // ele自定义方案
      arraySpanMethod({ row, column, rowIndex, columnIndex }) {
        // 合并行列产品名字相同合并(计算组长度以内的列,需要进行合并操作的列)
        let mergeLength = 3;//需要进行横纵合并的列
        if (columnIndex < mergeLength) {
          let finArray = [1,1];
          // 处理行数据
          let cgname = Object.keys(row)[columnIndex]
          if(rowIndex === 0 || row[cgname] !== this.tableData[rowIndex-1][cgname]){
            let rowspan = 1;
            //计算需要进行合并操作的行
            for(let i=0; i<this.tableData.length-1; i++){
              // 只合并连续的
              if(this.tableData[i][cgname] === row[cgname] && this.tableData[i+1][cgname] === row[cgname]){
                rowspan ++;
              }
            }
            finArray[0] = rowspan;
          }else {
            finArray[0] = 0;
          }

          // 处理列数据
          let colkeys = Object.keys(row);
          let cgvalue = Object.values(row)[columnIndex]
          if(columnIndex ===0 || row[colkeys[columnIndex-1]] !== row[colkeys[columnIndex]]){
            let colspan = 1;
            //计算需要进行合并操作的列
            for(let i=columnIndex; i<mergeLength; i++) {
              // 只合并连续的
              if (row[colkeys[i]]===cgvalue && row[colkeys[i+1]]===cgvalue && i+1<mergeLength) {
                colspan ++;
              }
            }
            finArray[1] = colspan;
          } else {
            finArray[1] = 0;
          }
          return finArray
        }
      }

    },
    mounted(){

    }
  }
</script>

<style scoped>

</style>

示例弊端:1.同官方一样,合并行之后,就没有在使用排序会渲染导致问题。2.示例控制了合并的列数和连续条件合并,所以tabaData数据列项顺序必须同表头名字顺序一致。3.示例同官方一致采用的简单的值合并,值相同就会进行合并计算,受2条件约束后不会出现前后跨行或跨列名字相同统计错乱问题。

可调范围:1.连续合并或指定条件合并,根据tabaData数据构成调控。2.可以根据id或其他特殊标识符进行合并,根据tabaData数据构成调控。3.增加合并规则和唯一判断条件后tabaData数据可以不同表头名顺序一致(非连续合并)。

 

posted @ 2020-08-04 11:24  赵洲web  阅读(4096)  评论(0编辑  收藏  举报