1. <el-table :span-method="arraySpanMethod"></el-table>
    2. //1.列---相同数据合并
    3. arraySpanMethod({ row, column, rowIndex, columnIndex }){
    4. //第一列相同数据合并
    5. if(columnIndex == 0){
    6. // 表格数据修改
    7. const _row = this.flitterData(this.searchData,'storeName').one[rowIndex]
    8. const _col = _row > 0 ? 1 : 0;
    9. return {
    10. rowspan: _row,
    11. colspan: _col,
    12. };
    13. }
    14. }
    15. flitterData(arr,mergeName) {
    16. let spanOneArr = [];
    17. let concatOne = 0;
    18. arr.forEach((item, index) => {
    19. if (index === 0) {
    20. spanOneArr.push(1);
    21. } else {
    22. // item.storeName 第一列要渲染的值
    23. if (item[mergeName] === arr[index - 1][mergeName]) {
    24. //第一列需合并相同内容的判断条件
    25. spanOneArr[concatOne] = spanOneArr[concatOne] + 1;
    26. spanOneArr.push(0);
    27. } else {
    28. spanOneArr.push(1);
    29. concatOne = index;
    30. }
    31. }
    32. });
    33. return {
    34. one: spanOneArr,
    35. };
    36. },