這期內容當中小編將會給大家帶來有關使用element怎么合并單元格,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
主要思路:
對數據進行處理,寫了一個getSpanData通用方法。
用api中提供的span-method方法。
span-method方法用法:
通過給table傳入span-method方法可以實現合并行或列,方法的參數是一個對象,里面包含當前行row、當前列column、當前行號rowIndex、當前列號columnIndex四個屬性。該函數可以返回一個包含兩個元素的數組,第一個元素代表rowspan,第二個元素代表colspan。 也可以返回一個鍵名為rowspan和colspan的對象。
通用實例
demo.vue
<el-table v-loading="loading" ref="singleTable" :data="tableData" :span-method="handleObjectSpanMethod" highlight-current-row border max-height="730" >
JavaScript
// 查詢列表 queryTableList() { getNeeds().then(res => { if (res.code === 0) { // 表格數據 this.tableData = res.data // 對表格數據進行處理,找出需要合并的單元格 this.getSpanData(this.tableData) } }) }, // 計算需要合并的單元格 getSpanData(data) { // 存放計算好的合并單元格的規則 this.spanData = [] for (var i = 0; i < data.length; i++) { if (i === 0) { this.spanData.push(1) this.pos = 0 } else { // 判斷當前元素與上一個元素是否相同 if (data[i].realOpenDate === data[i - 1].realOpenDate) { this.spanData[this.pos] += 1 this.spanData.push(0) } else { this.spanData.push(1) this.pos = i } } } } // 合并單元格 handleObjectSpanMethod({ row, column, rowIndex, columnIndex }) { // 需要合并的列 // [0, 1, 2].includes(columnIndex ), 表示合并前三列 if (columnIndex === 1) { const _row = this.spanData[rowIndex] const _col = _row > 0 ? 1 : 0 return { rowspan: _row, colspan: _col } } }
getSpanData中spanData處理后的結構:
上述就是小編為大家分享的使用element怎么合并單元格了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。