react实现一维表格、键值对数据表格key value表格

UI画的需求很抽象,直接把数据铺开,不能直接用antd组件了

上一行是name,下一行是value,总数不定,最后前端还要显示求和

javascript 复制代码
class OneDimensionTable extends React.Component {  
    render() {
        const { data } = this.props;
        let total = 0;
        data.map(item => total+=item.value);
        const tableData = [...data, {name: '合计', value: total}];
        const row = Math.trunc(tableData.length % 5 == 0 ? tableData.length/5 : tableData.length/5+1); //一行5个,可以改
        return (
            <table style={{border:'1px solid #1890ffd0', color:'white', fontSize: 12, width: 540}}>
            <tbody>
                {[...Array(row)].map((v, i) => (
                    <>
                        <tr>
                            {[...Array(5)].map((value,index)=><td style={{paddingTop: 10, paddingBottom: 10, textAlign: 'center', backgroundColor: 'rgb(29,124,237,0.2)'}}>{tableData[i*5+index]?.name}</td>)}                           
                        </tr>
                        <tr>
                            {[...Array(5)].map((value,index)=><td style={{paddingTop: 10, paddingBottom: 10, textAlign: 'center'}}>{tableData[i*5+index]?.value}</td>)}                           
                        </tr>
                    </>
                ))}
            </tbody>
            </table>
        ) 
    }
};

使用:

javascript 复制代码
<OneDimensionTable data={data}></OneDimensionTable>

(我所说的一维:表格都是二维的,数据在纵横两个方向上应当都有意义,但本需求数据只在一个方向上有意义,所以我直接叫它一维表格了)

相关推荐
xcyxiner1 分钟前
DicomViewer24 修复编译bug(window test 失败)
前端·qt
linux_cfan31 分钟前
videojs v10 源代码系列解读:34 · `createComposition`:类型安全的冲突检测
前端·安全
utmhikari2 小时前
【AI原生】借助AI之力优化个人博客前端样式
前端·css·hexo·next·个人博客·ai-native·vibe coding
小凯在掘金2 小时前
为什么箭头函数不能作为构造函数?
前端·javascript
JustHappy3 小时前
「vConsole MCP🛠️」我让 AI 直接看见任何 H5 的日志和请求帮你 debug
前端·javascript·程序员
codeGoogle4 小时前
Vue3 UIKit 实战:把聊天、会话、主题和移动端适配全部封装好
前端
大龄秃头程序员4 小时前
iOS Method Swizzling 的工程化实践:如何处理多重交换与第三方冲突
前端
liangshanbo12154 小时前
Webpack 文件指纹面试题整理
前端·webpack·node.js
xieter4 小时前
【技术精选】Node.js 核心事件循环机制与异步 I/O 深度剖析 (2026-10-02)
前端·javascript