用这个表格插件能满足你的需求:[vxe-table]
("https://vxetable.cn/#/table/start/install" (https://link.segmentfault.com/?enc=ei%2FcY9t3hh9i3jDFuzOvkA%3D%3D.8XR%2FUTazmqBOcJMvzWi3rPoLluACMMWP%2BtjpVISR%2FlDe3XAXoP1ncybQBbHMdou5))
或者你想要的是这种:
"handsontable" (https://link.segmentfault.com/?enc=BJ%2By5yqSwvPRVOHNtmLpYw%3D%3D.%2BdLJMgpWXfMUemebRChndmB7MTrZpWA8krCQq3YkPosXlpPJSvFSO%2BYf4cRTY9na1awKWVTnGXX69ZLggTAHug%3D%3D)
const tableList = ref([])
// 通用行合并函数(将相同多列数据合并为一行)
const mergeRowMethod: any = ({ row, _rowIndex, column, visibleData }: any) => {
const fields = ['name'] //合并相同年龄
const cellValue = row[column.field]
if (cellValue && fields.includes(column.field)) {
const prevRow = visibleData[_rowIndex - 1]
let nextRow = visibleData[_rowIndex + 1]
if (prevRow && prevRow[column.field] === cellValue) {
return { rowspan: 0, colspan: 0 }
} else {
let countRowspan = 1
while (nextRow && nextRow[column.field] === cellValue) {
nextRow = visibleData[++countRowspan + _rowIndex]
}
if (countRowspan > 1) {
return { rowspan: countRowspan, colspan: 1 }
}
}
}
}
//
//