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

el-table合并一列中数据相同的单元格

时间:2019-06-23 03:45:17

相关推荐

el-table合并一列中数据相同的单元格

html相关代码

即普通的ElementUI的表格插件传入span-method方法:

<el-table :data="tableData" border class="tableDataF" :span-method="objectSpanMethod"><el-table-column label="类名" align="center" prop="class"></el-table-column><el-table-column label="小类" align="center" prop="classify"></el-table-column><el-table-column label="名称" align="center" prop="name"></el-table-column><el-table-column label="编码" align="center"></el-table-column><el-table-column label="数量" align="center"></el-table-column><el-table-column label="合计" align="center"></el-table-column></el-table>

js相关代码

span-method方法绑定的objectSpanMethod函数中对数据进行处理:

export default {data() {return {tableData: [],};},methods: {objectSpanMethod({ row, column, rowIndex, columnIndex }) {//columnIndex 表示需要合并的列,多列时用 || 隔开if (columnIndex === 0 || columnIndex === 1) {const _row = this.filterData(this.tableData, columnIndex).one[rowIndex];const _col = _row > 0 ? 1 : 0;return {rowspan: _row,colspan: _col,}}},filterData(arr, colIndex) {let spanOneArr = [];let concatOne = 0;arr.forEach((item, index) => {if (index == 0) {spanOneArr.push(1);} else {//class 和classify 分别表示表格数据第一列和第二列对应的参数字段,根据实际参数修改if (colIndex == 0) {if (item.class === arr[index - 1].class) {spanOneArr[concatOne] += 1;spanOneArr.push(0);} else {spanOneArr.push(1); concatOne = index;}} else {if (item.classify === arr[index - 1].classify) {spanOneArr[concatOne] += 1;spanOneArr.push(0);} else {spanOneArr.push(1); concatOne = index;} }}});return {one: spanOneArr,};}}}

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