注意:前提必须升级iView Admin升级iview 4.0.0
升级步骤:
1.package.json 中,添加新包 view-design:
或者
直接执行命令:npm install view-design --save(直接更新到最新版,package.json不用再动)
2.Webpack 入口 main.js 中,把原先引用的 iview 替换为 view-design.
行/列合并 #
4.0.0 设置属性 span-method 可以指定合并行或列的算法。
该方法参数为 4 个对象:
- row: 当前行
- column: 当前列
- rowIndex: 当前行索引
- columnIndex: 当前列索引
该函数可以返回一个包含两个元素的数组,第一个元素代表 rowspan,第二个元素代表 colspan。 也可以返回一个键名为 rowspan 和 colspan 的对象。
代码例如:
//计算需要合并的单元格
getSpanData(data){
var t = this
var pos = 0
t.spanData = []
data.forEach(function(item,index){
if(index === 0){
t.spanData.push(1)
pos = 0
}else{
if((data[index].salesChannel === data[index-1].salesChannel) && (data[index].statTime === data[index-1].statTime)){
t.spanData[pos] += 1
t.spanData.push(0)
}else{
t.spanData.push(1)
pos = index
}
}
})
console.log(t.spanData)
},
handleSpan ({ row, column, rowIndex, columnIndex }) {
if([0,1,5].includes(columnIndex)){
const _row = this.spanData[rowIndex]
const _col = _row > 0 ? 1:0
return{
rowspan: _row,
colspan: _col
}
}
},