el-table——可合并单元格的表格
2024-09-01 15:06:22
<el-table
v-loading="loading"
:data="tableData"
border
:span-method="colSpanMethod"
> </el-table>
//需要的合并效果:data
spanArrs: {
amount1: [], // 合并单元格的参数
amount2: []
}
const amount2 = this.getSpanArr(tableData, 'amount2')
const spanArrs = {
// amount1:amount1,
amount2: amount2
}
// 合并列函数:methods
colSpanMethod ({ row, column, rowIndex, columnIndex }) {
if (this.spanArrs[column.property] && columnIndex < 1) { //
const _row = this.spanArrs[column.property][rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
} else {
return {
rowspan: 1,
colspan: 1
}
}
},
// 计算合并个数:key代表需要合并的参数
getSpanArr (data, key) {
let spanArr = []
let spanIndex = null
if (data == null) {
return []
} else {
for (let i = 0; i < data.length; i++) {
if (i === 0) {
spanArr.push(1)
spanIndex = 0
} else {
if (data[i][key] === data[i - 1][key]) {
spanArr[spanIndex] += 1
spanArr.push(0)
} else {
spanArr.push(1)
spanIndex = i
}
}
}
return spanArr
}
},
// 排序:可以让后台返回排序后的内容,避免合并后内容不对应
sortBy (attr, rev) {
if (!rev) {
rev = 1
} else {
rev = (rev) ? 1 : -1
}
return function (a, b) {
a = a[attr].toLowerCase()
b = b[attr].toLowerCase()
if (a < b) {
return rev * -1
}
if (a > b) {
return rev * 1
}
return 0
}
},
最新文章
- shell命令lsof
- css技巧收集
- [问题2014S04] 复旦高等代数II(13级)每周一题(第四教学周)
- 史上最";恐怖";的12生肖图,绝对超猛
- windows all version - 实现指定路径共享
- TF255466: Team Foundation Server 的配置过程无法继续。以前的更新或安装需要重
- Pogo-Cow
- 稀疏矩阵乘法加法等的java实现
- css3 渐变记
- linux 获取系统屏幕分辨率
- No.4小白的HTML+CSS心得篇
- mmc一维下料测试
- Zen Coding in Visual Studio 2012
- 模板不存在:./xx 错误位置 FILE: LINE:110 (thinkphp上传至服务器后模板无法解析原因)
- 洛谷P2868 [USACO07DEC]观光奶牛Sightseeing Cows(01分数规划)
- MySql left join 多表连接查询优化语句
- Flutter 修改TextField的高度,以及无边框圆角
- FFMPEG的基础使用
- std::string begin end
- KSImageNamed项目图片智能提示