效果如下:

代码如下:

js:

import React, {Component,useEffect,useState} from 'react';
import {Row, Col } from 'antd';
import style from './index.module.less';const TableCricle = React.memo((props) => {const { depNameList = [],// 科室列表inviterList = [],columns //一共几列(不包括表头)} = propsconst [rows,setRows] = useState();//一共几行表格const init = () => {let row = Math.ceil(inviterList?.length/columns)setRows(row);}useEffect(()=>{init()},[inviterList])return <><Row className={`${style.line} ${style.tableBox}`}>{rows? Array.apply(null, { length: rows }).map((_,index) => {return <><Col span={24%(columns+1)?columns:24/(columns+1)}  className={style.tableCell}>{depNameList.length>0 && depNameList.map(item => {return <div className={style[item.styleName]}>{item.name}</div>})}</Col>{inviterList.length>0 && inviterList.map((item,i)=>{if(index*columns-1 < i && i < (index+1)*columns) {return        <Col span={24%(columns+1)?columns:24/(columns+1)} className={style.tableCell}>{/* <div className={style.depName}>{ item.DepName||'-' }</div><div className={style.doctorName}></div> */}{depNameList.length>0 && depNameList.map(val => {return <div className={style[val.styleName]}>{item[val.valName]}</div>})}</Col>}})}{// 不足一行补全表格,需要补全的肯定只有最后一行index === rows-1 && inviterList?.length && inviterList.length < rows*columns ? Array.apply(null, { length:  rows*columns - inviterList.length }).map((_,j)=>{return <Col span={24%(columns+1)?columns:24/(columns+1)} className={style.tableCell}>{depNameList.length>0 && depNameList.map(val => {return <div className={style[val.styleName]}>{j[val.valName]}</div>})}</Col>}):null}</>}):null}</Row></>
})export default TableCricle

css:

.flex {box-sizing: border-box;display: flex;align-items: center;justify-content: center;border: 1px solid rgba(51, 51, 51, 1);margin-left: -1px;
}
.tableBox {:global {// 重写样式,适配表格,数字表示总共几列.ant-col-1 {max-width: 100%;}.ant-col-3 {max-width: 33.33%;}.ant-col-5 {max-width: 20%;}.ant-col-7 {max-width: 14.28%;}.ant-col-9 {max-width: 11.11%;}.ant-col-11 {max-width: 9.09%;}.ant-col-13 {max-width: 7.69%;}}.tableCell {display: flex;flex-flow: column;.depName,.doctorName{.flex}.depName {height: 48px;margin-left: -1px;margin-top: -1px;}.doctorName {height: 64px;margin-top: -1px;}}
}

使用:

//表头
depNameList: [{name: '科室',styleName: 'depName',valName: 'DepName'// 表头对应需要展示的值的字段名称},{name: '专家',styleName: 'doctorName',valName: ''}
],
columns: 5, // 表格科室一共几列
inviterList: [],// 内容列表<TableCricle depNameList={depNameList} inviterList={inviterList} columns={columns}></TableCricle>

react实现表头固定左侧,内容右侧循环,可换行相关推荐

  1. css 设置 table 样式:表头固定,内容垂直方向滚动

    css 设置 table 样式:表头固定,内容垂直方向滚动 一.需求 二.实现 一.需求 需要实现下面样式的表格,其中,表头固定.内容垂直方向滚动.鼠标悬停高亮.点击高亮. 基本样式可参考 w3sch ...

  2. HTML表头固定,内容滚动实现

    在前端开发过程中,经常会遇到一个需求就是,需要一个表格展示数据, 1.表头固定,内容过多的时候向下活动,表头不跟随移动,若表体内容超长时,表头不能移动,表体内容滚动显示: 2.表格头横向随表格内容横向 ...

  3. Table固定表头固定左侧列

    效果图: 思路:把需要固定的内容进行拆封,比如左侧的表头和内容,右侧的表头和内容,都单独的存放在一个table中,在滚动条滚动的时候通过jquery scroll()区分横向纵向滚动条的方法来实现左侧 ...

  4. table表头固定,内容滚动

    最近接到一个需求,要thead表头固定,tbody内容实现滚动. 简单,给tbody加高度就行了. 什么?!竟然不行失败了!! 既然无法限制tbody本身的高度,那就给它套一个div,限制div的高度 ...

  5. html 怎么置顶表格,表格(Table)表头固定,内容上滚【5个实例】

    当表格往上滚动的时候,表头固定不动,这样可以让用户时刻看清每一列的数据含义,这是人性化的设计,充分考虑了用户使用体验.本文将通过5个实例,来介绍这种表格设计.用户可通过下载源码,直接应用于自己的项目里 ...

  6. 微信小程序 table表格 固定表头和首列 右侧表格可以左右滚动(多种表格演练)

    最近在做公司的项目需要到表格展示数据,但是微信小程序是没有原生table标签的,于是就百度各种搜...发现结构有类似的就粘过来修改,要善于学习和借鉴别人的经验使其变成为自己的东西,学无止境~ 在这里做 ...

  7. R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息、获取更独特的有新意的关联规则

    R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘).使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息.获取更独特的有新意的关联规则 目录

  8. R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可)

    R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘).查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可) 目录

  9. div+css实现表头固定内容滚动表格

    <div class="m-demo"><table><thead><tr><th>定宽a</th>< ...

最新文章

  1. 干货合集|如何做一名优秀架构师?进来找答案!
  2. windows下给定多个openNi的Uri,匹配与uri对应的Uvc RGB设备
  3. MySoft.Data从入门到精通系列(五)【数据更新】
  4. mybatis(mapper映射文件)
  5. mac os 录屏快捷键_Mac跨平台自动同步记事本
  6. java基础-泛型举例详解
  7. 第十二章 图形用户界面
  8. 【原创】指针和下标的10条对比
  9. h5滚动隐藏滚动条_这 10 个值得开启的隐藏功能,让你的 Chrome 释放更多潜力
  10. 写一些脚本的心得总结系列第3篇------同步数据到其他表
  11. zenmap nmap输出无显示_双路显示控制仪XME-H80-1616价格报价
  12. 12011.linux之看门狗应用开发
  13. Ansible Tower 入门 1 - 配置主机清单和访问凭证
  14. OpenCV图像处理(2)——形态学操作
  15. 5.1傅里叶展开,傅里叶级数推导--非常棒
  16. 【渝粤教育】广东开放大学 集体谈判与集体合同 形成性考核 (30)
  17. JQUERY-SELECT 实现下拉框可以搜索、选择
  18. 公司管理系列--最难挖的阿里,最好挖的百度;最难走的360,最易走的腾讯
  19. ps怎么导入lut预设?Photoshop导入lut调色预设教程
  20. oracle seq nextval,在oracle中使用sequence.nextval创建表

热门文章

  1. 【12月原创】RT-thread - 柿饼UI —— 网络流媒体播放器
  2. echarts4.8.0最新版本下载,亲测可用
  3. 海天蚝油《挑战不可能》迎来真·火眼金睛的潜艇雷达兵
  4. switch语句(分支语句)
  5. PMP与我 - 我的58天备考生涯
  6. for循环的说课c语言,教学设计《程序的循环结构-For循环语句》
  7. 高考恋爱100天 完全攻略
  8. 信息系统项目管理师考前10天极限冲刺+答案(七)
  9. 学python吧-Python为什么这么厉害? 不想成为专业码农? 来学习Python吧!
  10. 2.9 zio入门——递归和ZIO