vue+element ui table 合并列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue+element ui table 合并列相关的知识,希望对你有一定的参考价值。

参考技术A <el-table :data=" dataDetailsList "  :span-method="objectSpanMethod"   :row-class-name="tableRowClassName" >

            <el-table-column prop=" photo_group_name " label="照片组名称"></el-table-column>

            <el-table-column prop="title" label="文件名称"></el-table-column>

</el-table>

js:

data()

return

            position: 0,

            rowSpanArr: [],

    



        methods:

         // 获取合并的数组

     getRowSpan()  

      this.rowSpanArr = [];

      this.dataDetailsList.forEach((item, index) => 

        if (index == 0) 

          this.rowSpanArr.push(1);

          this.position = 0;

         else 

          if (this. dataDetailsList[index].photo_group_name  == this. dataDetailsList[index - 1].photo_group_name ) 

            this.rowSpanArr[this.position] += 1; //项目名称相同,合并到同一个数组中

            this.rowSpanArr.push(0);

            this.dataDetailsList[index].photo_group_name = this.dataDetailsList[index - 1].photo_group_name;

           else 

            this.rowSpanArr.push(1);

            this.position = index;

          

        

      );

    ,

     objectSpanMethod ( row, column, rowIndex, columnIndex ) 

      // 只合并区域位置

      if (columnIndex === 0) 

        const _row = this.rowSpanArr[rowIndex];

        return 

          rowspan: _row, //行

          colspan: 1 //列

        ;

      

    ,

 queryExcelDetails()

              queryExcelDetails(this.queryData).then(res => 

                  if (res.code == 200) 

                    this.tableData = [];

                    this.dataDetailsList = [];

                    this.dataDetailsList = res.data.list;

                    this.queryData.total = res.data.total;

                    this.dataDetails = true;

                    this. getRowSpan();

                  else

                    this.$message.error(

                      showClose: true,

                      message: res.message

                    );

                  

                );

            ,

vue elementUI Table给动态列动态设置宽度

参考技术A element UI中的table设置列的宽度是width属性

<el-table-column prop="date" label="日期"  width="180"> </el-table-column>

但是我的列是动态的,不能直接这样设置。

解决:

以上是关于vue+element ui table 合并列的主要内容,如果未能解决你的问题,请参考以下文章

由element-ui的table引发的系列问题---单元格合并

element-ui中的el-table-column使用v-if导致列位置与数据错乱

vue+element ui el-table 完成动态添加表格&&动态合并/踩坑记录

vue element-ui中table合计指定列求和

Vue.js - element-ui el-table v-for 丢失最后一项

vue element-ui动态渲染多级table表头