React antd Table表格动态合并单元格

news/2024/10/18 1:34:19/

注意:

① 采用的是React antDsign 4.x版本 

② 需重新处理data数据

实现效果

代码实现

import React from 'react';
import { Table } from 'antd';const data = [{key: '0',name: '张三',age: 22,sex: '男',},{key: '1',name: '李四',age: 42,sex: '男',},{key: '2',name: '小丽',age: 22,sex: '女',},{key: '3',name: '小红',age: 31,sex: '女',},{key: '4',name: '赵大胆',age: 42,sex: '男',},{key: '5',name: '李建国',age: 62,sex: '男',},
];const columns = [{title: '姓名',dataIndex: 'name',key: 'name',align: 'center',},{title: '性别',dataIndex: 'sex',key: 'sex',align: 'center',render(_, row) {return {children: row.sex,props: {rowSpan: row.rowSpan,},};},},{title: '年龄',dataIndex: 'age',key: 'age',align: 'center',},
];//处理data数组
const createNewData = (data) => {return data.reduce((result, item) => {if (result.indexOf(item.sex) < 0) {result.push(item.sex);}return result;}, []).reduce((result, sex) => {const children = data.filter((item) => item.sex === sex);result = result.concat(children.map((item, index) => ({...item,rowSpan: index === 0 ? children.length : 0,})),);return result;}, []);
};const App = () => (<Tablecolumns={columns}dataSource={createNewData(data)}borderedsize="small"/>
);export default App;

注:本人前端小白 ,如有不对的地方还请多多指教


http://www.ppmy.cn/news/1514824.html

相关文章

MySQL——多表操作(一)外键(3)添加外键约束的参数说明

我们知道建立外键是为了保证数据的完整和统一性&#xff0c;但如果主表中的数据被删除或修改&#xff0c;从表中对应的数据该怎么办?很明显&#xff0c;从表中对应的数据也应该被删除&#xff0c;否则数据库中会存在很多无意义的垃圾数据。MySQL 可以在建立外键时添加 ON DELE…

海莲花活跃木马KSRAT加密通信分析

1.概述 自2023年8月至今&#xff0c;海莲花组织多次利用KSRAT远控木马对我国发起攻击。KSRAT通过HTTP协议与C&C服务器进行通信&#xff0c;每个样本都使用了不同的URL。其心跳包采用XOR算法进行加密&#xff0c;而控制指令包和数据回传包则使用了XOR以及“XORAES-128-CBC”…

Hooks 「 useImperativeHandle 」子组件向父组件暴露方法

封装公共的组件提供操作方法。 子组件 import React, { useEffect, useRef, useState, useImperativeHandle } from reactconst PublicOffice ({ PublicOfficeRef }) > {const pathList useRef([{ file: , name: , year: 2022 }])// 向父组件暴露的方法useImperativeHan…

K8S故障排查可视化指南 —— 筑梦之路

在线查看 中文版&#xff1a;http://114.132.181.71:8080/book/71 英文版&#xff1a;http://114.132.181.71:8080/book/70 A visual guide on troubleshooting Kubernetes deployments

Oracle 同义词SYNONYM 的使用

Oracle同义词是数据库中的一种特性&#xff0c;它允许用户为数据库对象&#xff08;如表、视图、序列、过程、函数等&#xff09;创建一个别名。这个别名可以简化SQL语句的编写&#xff0c;提高数据库对象的可访问性&#xff0c;并且可以在多用户协同开发环境中隐藏对象名称及其…

鸿蒙Harmony编程开发:服务端证书锁定防范中间人攻击示例

1. TLS通讯中间人攻击及防范简介 TLS安全通讯的基础是基于对操作系统或者浏览器根证书的信任&#xff0c;如果CA证书签发机构被入侵&#xff0c;或者设备内置证书被篡改&#xff0c;都会导致TLS握手环节面临中间人攻击的风险。其实&#xff0c;这种风险被善意利用的情况还是很…

中心极限定理

中心极限定理&#xff08;Central Limit Theorem, CLT&#xff09;是统计学中的一个重要定理&#xff0c;它描述了在某些条件下&#xff0c;大量独立随机变量的平均值的分布特性。简单来说&#xff0c;中心极限定理告诉我们&#xff1a;无论原始数据的分布是什么样的&#xff0…

python绘制爱心代码

效果展示 完整代码 Python中绘制爱心的代码可以通过多种方式实现&#xff0c;高级的爱心代码通常指的是使用较复杂的算法或者图形库来生成更加精致的爱心图形。下面是一个使用Python的Turtle模块来绘制爱心的示例代码&#xff1a; import turtledef draw_love():turtle.speed…