elementUI Table組件 如何設置合并列

效果圖:
image.png

代碼如下:

    <div id="wrap">
        <el-table
            :data="tableData"
            style="width:200px"
            :border="true"
            :span-method="objectSpanMethod"
        >
            <el-table-column
                prop="month"
                label="月份"
            >
            </el-table-column>
            <el-table-column
                prop="year"
                label="年份"
            >
            </el-table-column>
        </el-table>
    </div>
</template>

<script>
    export default {
        data() {
            return {
                tableData: [{"attendTrainingPersonnel":"全區區管干部必學,鼓勵其他干部選學","month":4,"teacherMisassignments":"中央黨校(國家行政學院)李志勇","title":"關于國家治理現代化的幾個問題","typeName":"十九屆四中全會精神輪訓","year":2020},{"attendTrainingPersonnel":"全區區管干部必學,鼓勵其他干部選學","month":4,"teacherMisassignments":"中央黨校(國家行政學院)李志勇","title":"關于國家治理現代化的幾個問題","typeName":"十九屆四中全會精神輪訓","year":2020}]
            }
        },
        mounted(){
            let tableData = this.tableData;
            let tempDetailslistMonth = {};
            tableData.map(item => {
                if(tempDetailslistMonth[item.month]){
                    tempDetailslistMonth[item.month]++;
                    item.showMonth = false;
                    return item;
                }
                else{
                    tempDetailslistMonth[item.month] = 1;
                    item.showMonth = true;
                    return item;
                }
            });
            this.tempDetailslistMonth = tempDetailslistMonth;
        },
        methods : {
            objectSpanMethod({ row, column, rowIndex, columnIndex }) {
                //rowIndex:行    columnIndex:列
                let {tableData} = this;
                if(columnIndex == 0){   //只對第一列的數據(月份)可能進行合并列
                    // 如果這個月已經展示了,就不要再展示了
                    if(row.showMonth){
                        return {
                            rowspan : this.tempDetailslistMonth[tableData[rowIndex].month],
                            colspan: 1
                        }
                    }
                    else{
                        return {
                            rowspan : 0,
                            colspan: 0
                        }
                    }
                }
            }
        }
    }
</script>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。