getRowSpan = (data, param) => {
return data
.reduce((result, item) => {
//首先将dataTime字段作为新数组result取出
if (result.indexOf(item[param]) < 0) {
result.push(item[param])
}
return result
}, [])
.reduce((result, items) => {
//将[param]相同的数据作为新数组取出,并在其内部添加新字段**rowSpan**
const children = data.filter((item) => item[param] === items)
result = result.concat(
children.map((item, index) => ({
...item,
rowSpan: index === 0 ? children.length : 0, //将第一行数据添加rowSpan字段
}))
)
return result
}, [])
}
data为表格中数据,param是根据表格中的某一列进行合并,此列的dataIndex