您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關element-ui表格合并span-method的實現,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
<el-table :data="tableData6" :span-method="arraySpanMethod" border > <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-column prop="amount4" sortable label="數值 4"> </el-table-column> </el-table>
<script> export default { data() { return { tableData6: [{ id: '12987122', name: '王小虎', amount1: '11', amount2: '3.2', amount3: 10, amount4: 88 }, { id: '12987123', name: '王小虎', amount1: '11', amount2: '3.2', amount3: 12, amount4: 88 }, { id: '12987124', name: '王小虎', amount1: '11', amount2: '3.2', amount3: 12, amount4: 88 }, { id: '12987125', name: '王小虎', amount1: '11', amount2: '3.2', amount3: 12, amount4: 88 }, { id: '12987126', name: '王小虎', amount1: '539', amount2: '3.2', amount3: 12, amount4: 88 }] }; }, methods: { /** * 表格合并 * @param {*} param0 * row 表格每一行的數據 * column 表格每一列的數據 * rowIndex 表格的行索引,不包括表頭,從0開始 * columnIndex 表格的列索引,從0開始 */ arraySpanMethod ({ row, column, rowIndex, columnIndex }) { // console.log(row, column, rowIndex, columnIndex) // 打印出的數據就是表格當前行的數據,當前列的數據,索引 if (rowIndex === 1) { // 合并第二行 if (columnIndex === 1) { // 從第二列開始 return [1, 3] // 這里返回的是行和列的合并數量,可以返回一個數組,也可以返回一個對象,效果一樣 // 這里rowspan為1是行有一行合并,colspan為3是列有3列合并,你要合并幾行幾列就寫上相應的數字 // return { // rowspan: 1, // colspan: 3 // } // 這里要寫一個else的判斷,不然被合并列的原始數據會填充到合并之后的表格里 // 這個判斷是把合并的第3列,第4列的值省略,在合并的表格右邊直接填原先第5列的值,合并了幾列,就省略幾列的值 } else if (columnIndex === 2 || columnIndex === 3) { return [0, 0] } } } </script>
再演示一下其他合并效果,第二行和第三行都有合并
arraySpanMethod ({ row, column, rowIndex, columnIndex }) { // console.log(row, column, rowIndex, columnIndex) // 打印出的數據就是表格當前行的數據,當前列的數據,索引 if (rowIndex === 1 || rowIndex === 2) { // 在這里多加一個行的判斷就行 // 合并第二行 if (columnIndex === 1) { // 從第二列開始 return [1, 3] // 這里返回的是行和列的合并數量,可以返回一個數組,也可以返回一個對象,效果一樣 // 這里rowspan為1是行有一行合并,colspan為3是列有3列合并,你要合并幾行幾列就寫上相應的數字 // return { // rowspan: 1, // colspan: 3 // } // 這里要寫一個else的判斷,不然被合并列的原始數據會填充到合并之后的表格里 // 這個判斷是把合并的第3列,第4列的值省略,在合并的表格右邊直接填原先第5列的值,合并了幾列,就省略幾列的值 } else if (columnIndex === 2 || columnIndex === 3) { return [0, 0] } } }
合并多行的情況
arraySpanMethod ({ row, column, rowIndex, columnIndex }) { if (rowIndex === 1) { // 合并第二行 if (columnIndex === 1) { // 從第二列開始 return [2, 3] // 這里返回的是行和列的合并數量,可以返回一個數組,也可以返回一個對象,效果一樣 // 這里rowspan為2是行有兩行合并,colspan為3是列有3列合并,你要合并幾行幾列就寫上相應的數字 // 這個判斷是把第一行的第3列,第4列的值省略,在合并的表格右邊直接填原先第5列的值,合并了幾列,就省略幾列的值 } else if (columnIndex === 2 || columnIndex === 3) { return [0, 0] } } else if (rowIndex === 2 && (columnIndex === 1 || columnIndex === 2 || columnIndex === 3)) { // 第二行的第2個數,第3個數,第4個數都要省略 return [0, 0] } }
上述就是小編為大家分享的element-ui表格合并span-method的實現了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。