elementUI table合并多行单元格
程序员文章站
2022-03-04 11:50:14
...
<el-table :data="tableData" :span-method="objectSpanMethod">
<el-table-columnprop="aspect" label="考察方面"></el-table-column>
<el-table-column prop="content" label="具体内容"> </el-table-column>
<el-table-column prop="condition" label="学校测评情况"></el-table-column></el-table>
return {
tableData: [
{
aspect: '压力与应对',
content: '压力感知',
condition: ''
}, {
aspect: '压力与应对',
content: '压力与应对',
condition: ''
}, {
aspect: '学业发展',
content: '学校满意度',
condition: ''
}, {
aspect: '学业发展',
content: '学习倦怠',
condition: ''
}, {
aspect: '心理健康',
content: '心理韧性',
condition: ''
}, {
aspect: '心理健康',
content: '网络成瘾',
condition: ''
}, {
aspect: '心理健康',
content: '焦虑',
condition: ''
}, {
aspect: '心理健康',
content: '抑郁',
condition: ''
}, {
aspect: '心理健康',
content: '自伤',
condition: ''
}, {
aspect: '心理健康',
content: '自杀',
condition: ''
}, {
aspect: '心理健康',
content: '欺凌/受欺负',
condition: ''
}, {
aspect: '发展环境',
content: '父母婚姻关系',
condition: ''
}, {
aspect: '发展环境',
content: '社会联结',
condition: ''
}
],
spanArr: []
}
},
spanArr、aspect重点关注下,下面会用到
methods: {
getSpanArr (data) {
for (var i = 0; i < data.length; i++) {
if (i === 0) {
this.spanArr.push(1)
this.pos = 0
} else {
if (data[i].aspect === data[i - 1].aspect) { //aspect可以根据你要合并的列更改
this.spanArr[this.pos] += 1
this.spanArr.push(0)
} else {
this.spanArr.push(1)
this.pos = i
}
}
}
},
objectSpanMethod ({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const _row = this.spanArr[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
dataList () {
this.tableData[12].condition = '在参加测评的学生中,' + this.$store.state.data.scaleSchoolStatisticsBySchoolId.社会联结[2].number + '人属于低社会联结,' + this.$store.state.data.scaleSchoolStatisticsBySchoolId.社会联结[1].number + '人属于中等社会联结,' + this.$store.state.data.scaleSchoolStatisticsBySchoolId.社会联结[0].number + '人属于高社会联结。' // 改变data里的方法
}
},
updated () {
this.dataList()
},
mounted () {
this.getSpanArr(this.tableData)
}
上一篇: C#中WinForm程序退出方法
下一篇: winform 设置倒计时的方法