1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > elementui table 第一列内容相同 自动合并单元格 el-table第一列内容相同自动合并

elementui table 第一列内容相同 自动合并单元格 el-table第一列内容相同自动合并

时间:2018-12-05 23:27:36

相关推荐

elementui table 第一列内容相同 自动合并单元格 el-table第一列内容相同自动合并

template( :span-method=“objectSpanMethod”)

<!-- 表格 --><el-table:data="tableData"style="width: 80%; margin: 20px":header-cell-style="{background: '#F8F8F8', height: '40px', padding: '0', color: '#333333'}"border:span-method="objectSpanMethod"><el-table-column align="center" header-align="center" :show-overflow-tooltip="true" width="100" ><template slot-scope="scope">{{scope.row.index + 1 }}</template></el-table-column><el-table-column prop="subjects" label="费用科目" align="center" header-align="center" :show-overflow-tooltip="true"></el-table-column><el-table-column prop="classType" label="分类" align="center" header-align="center" :show-overflow-tooltip="true" ></el-table-column><el-table-column prop="price" label="金额" align="center" header-align="center" :show-overflow-tooltip="true" ></el-table-column></el-table>

data数据结构

return{tableData:[{index:0,subjects:'一次性就废',price:'1,200.00元'},{index:1,subjects:'医疗备用金',price:'1,200.00元'},{index:2,subjects:'试住费',price:'1,200.00元'},{index:3,subjects:'餐费',classType: '餐费(长者+保姆)',price:'1,200.00元'},{index:4,subjects:'餐费',classType: '餐费(长者)',price:'1,200.00元'}]}

methods方法

//合并第一列flitterData (arr) {let spanOneArr = []let concatOne = 0arr.forEach((item, index) => {console.log(item,index)if (index === 0) {spanOneArr.push(1)} else {if (item.subjects === arr[index - 1].subjects) {//第一列需合并相同内容的判断条件spanOneArr[concatOne] += 1spanOneArr.push(0)} else {spanOneArr.push(1)concatOne = index};}});return {one: spanOneArr,}},objectSpanMethod ({row, column, rowIndex, columnIndex }) {if (columnIndex === 1) {// 判断哪一列const _row = (this.flitterData(this.tableData).one)[rowIndex]const _col = _row > 0 ? 1 : 0return {rowspan: _row,colspan: _col};}},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。