react+antd --- 日期选择器,动态生成日期表格表头
先看一下效果---有当前月的日期

技术:
1: react
2:antd-UI库 -- table
3:moment--时间处理库
代码效果:
import { Button, DatePicker, Table } from 'antd';
import { useEffect, useState } from 'react';
import moment from 'moment';function Club() {const [selectedMonth, setSelectedMonth] = useState(moment()); // 月份选择const [monthColumnsList, setMonthColumnsList] = useState([]); // 月份列数据// 切换月份选择器const handleChangeMonth = (date, datestr) => {setSelectedMonth(date);};useEffect(() => {const daysInMonth = selectedMonth.daysInMonth();const startOfMonth = selectedMonth.clone().startOf('month');console.log(daysInMonth, 'daysInMonth')console.log('startOfMonth', startOfMonth)const monthList = Array.from({ length: daysInMonth }, (_, i) =>startOfMonth.clone().add(i, 'days'));console.log('monthList', monthList)// 格式化日期,以当前月的日期作为表头const columns = monthList.map((item, index) => ({width: '80px',title: item.format('MM-DD'),dataIndex: item.format('MM-DD').toLowerCase() + '_interviewed',align: 'center',//进行右边固定 最后一个形成--------------------------fixed: monthList.length - 1 == index ? 'right' : '',}));setMonthColumnsList(columns);}, [selectedMonth]);useEffect(() => {console.log(monthColumnsList, 'monthColumnsList');}, [monthColumnsList])// 每日过程列表const columns = [{//进行左边边固定fixed: 'left',width: '140px',title: '实际约面数',dataIndex: 'account_id',align: 'center',},...monthColumnsList];//可以根据后端传入的数据进行修改const dataList = [// {// key: '1',// account_id: 2,// },// {// key: '2',// account_id: 2,// }];return (<div>//时间选择器<DatePickerpicker='month'defaultValue={selectedMonth}onChange={handleChangeMonth}style={{ width: 150 }}allowClear={false}/><Tablescroll={{ x: 1898 }}columns={columns}dataSource={dataList}/></div>);
}export default Club;
这个是展示当前周的情况--可滚动

代码如下
import { Button, DatePicker, Table } from 'antd';
import { useEffect, useState } from 'react';
import moment from 'moment';function Club() {const [selectedMonth, setSelectedMonth] = useState(moment()); // 月份选择const [monthColumnsList, setMonthColumnsList] = useState([]); // 月份列数据// 切换月份选择器const handleChangeMonth = (date, datestr) => {setSelectedMonth(date);};const EnumWeekdays = {Monday: '周一',Tuesday: '周二',Wednesday: '周三',Thursday: '周四',Friday: '周五',Saturday: '周六',Sunday: '周日'}useEffect(() => {// const daysInMonth = selectedMonth.daysInMonth();const daysInMonth = 7;// const startOfMonth = selectedMonth.clone().startOf('month');const startOfMonth = selectedMonth.clone().startOf('week');const monthList = Array.from({ length: daysInMonth }, (_, i) =>startOfMonth.clone().add(i, 'days'));// 保存当前地区const currentLocale = moment.locale();// 设置地区为英文moment.locale('en');const columns = monthList.map((item, index) => (console.log('item.format]', item.format('dddd')),{title: `${item.format('MM-DD')}(${EnumWeekdays[item.format('dddd')]})`,dataIndex: item.format('dddd').toLowerCase() + '_interviewed',width: '80px',fixed: monthList.length - 1 == index ? 'right' : '',}))// huifeng: 恢复当前地区moment.locale(currentLocale);// 格式化日期,以当前月的日期作为表头// const columns = monthList.map((item, index) => ({// width: '80px',// fixed: monthList.length - 1 == index ? 'right' : '',// title: item.format('MM-DD'),// dataIndex: item.format('MM-DD').toLowerCase() + '_interviewed',// align: 'center',// }));setMonthColumnsList(columns);}, [selectedMonth]);useEffect(() => {console.log(monthColumnsList, 'monthColumnsList');}, [monthColumnsList])// 每日过程列表const columns = [{fixed: 'left',width: '140px',title: '实际约面数',dataIndex: 'account_id',align: 'center',},...monthColumnsList];const dataList = [// {// key: '1',// account_id: 2,// },// {// key: '2',// account_id: 2,// }];return (<div><DatePickerpicker='month'defaultValue={selectedMonth}onChange={handleChangeMonth}style={{ width: 150 }}allowClear={false}/><Tablescroll={{ x: 1898 }}columns={columns}dataSource={dataList}/></div>);
}export default Club;
可以直接复制-------粘到自己的项目-----------------------------------------------------------------------------------
相关文章:
react+antd --- 日期选择器,动态生成日期表格表头
先看一下效果---有当前月的日期 技术: 1: react 2:antd-UI库 -- table 3:moment--时间处理库 代码效果: import { Button, DatePicker, Table } from antd; import { useEffect, useState } from react; import momen…...
webgl入门-js与着色器间的数据传输
js与着色器间的数据传输 前言 课堂目标 使用js向着色器传递数据获取鼠标在canvas 中的webgl 坐标系位置 知识点 attribute 变量gl.vertextAttribute3f() 的同族函数鼠标在canvas 中的css 位置转webgl 坐标位uniform 变量gl.uniform4f() 的同族函数 第一章 用js控制一个点…...
springmvc异常处理
springmvc异常处理 spring中有三种方式可以优雅的处理异常 使用ExceptionHandler 使用HandlerExceptionResolver 使用ControllerAdviceExceptionHandler 使用ExceptionHandler 该方式只在指定的Controller有效,不会对其他的Controller产生影响 ControllerRequestMap…...
可拖动、连线的React画布组件有哪些? 官网分别是什么?
下面是一些常用的可拖动、连线的React画布组件以及它们的官方网站: react-dagre-d3:这是一个基于React和D3.js的可拖动、连线的图形编辑器组件。它使用DAG(有向无环图)布局算法,支持节点拖拽、连线、缩放等功能。官网&…...
专访 Staynex 创始人 Yuen Wong:酒店行业的变革者
整理:Tia,Techub News 传统酒店业其实已经很中心化了,几大巨头 OTA 平台几乎已经完成对行业的垄断,而酒店商家也不得不受制于平台的规则制度,向平台支付高比例的费用。Staynex 看到了其中的机会,并想利用区…...
最新版Ceph( Reef版本)块存储简单对接k8s(上集)
当前ceph 你的ceph集群上执行 1.创建名为k8s-rbd 的存储池 ceph osd pool create k8s-rbd 64 642.初始化 rbd pool init k8s-rbd3 创建k8s访问块设备的认证用户 ceph auth get-or-create client.kubernetes mon profile rbd osd profile rbd poolk8s-rbd部署 ceph-rbd-csi c…...
稳态大面积光伏组件IV测试太阳光模拟器
稳态大面积光伏组件IV测试太阳光模拟器是太阳能光伏组件质量检测和评价的重要步骤之一。本文将介绍光伏组件IV测试的原理及标准板选择。 I. 光伏组件IV测试原理 光伏组件IV测试即电流电压特性测试,是评估光伏组件性能的重要手段。其测量的主要参数为组件的电流和电…...
编写HTTP协议代理的一些知识(源码)
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 早期上网经常需要使用代理服务…...
LabVIEW天然气压缩因子软件设计
LabVIEW天然气压缩因子软件设计 项目背景 天然气作为一种重要的能源,其压缩因子的准确计算对于流量的计量和输送过程的优化具有关键意义。传统的计算方法不仅步骤繁琐,而且难以满足现场快速响应的需求。因此,开发一款既能保证计算精度又便于…...
GCP谷歌云有什么数据库类型,该怎么选择
GCP谷歌云提供的数据库类型主要包括: 关系型数据库:这类数据库适用于结构化数据,通常用于数据结构不经常发生变化的场合。在GCP中,关系型数据库选项包括Cloud SQL和Cloud Spanner。Cloud SQL提供托管的MySQL、PostgreSQL和SQL Se…...
项目经理之路:裁员与内卷下的生存策略
作为一名项目经理,身处这个充满挑战与机遇的行业中,今年所面临的裁员潮和内卷化趋势无疑给我的工作带来了前所未有的压力。然而,正是这些压力和挑战,让我们更加深刻地思考了在这个快速变化的时代中,我们项目经理应该如…...
MWM触摸屏工控机维修TEM-EV0 EN00-Z312yy-xx
触摸屏维修是一个比较复杂的过程,并且其中会涉及到各个部件的问题,这对于操作人员来说,关键在于是否可以找到问题所在。维修过程中建议先检查各接线接口是否出现松动,然后检查串口及中断号是否有冲突,若有冲突…...
idm下载到99.99%不动了 idm突然不下载了 idm下载到最后没速度咋办 IDM下载后没网了是怎么回事
idm能够帮助我们下载不同类型的网页视频,并且基于多线程下载技术的助力下使其下载速度比原来提升数倍以上,因此成为了许多朋友下载的小助手。但也有朋友反映idm下载网页视频超时连接不上,idm下载网页视频突然停止,究竟这些情况我们…...
设计模式-07 设计模式-观察者模式(Observer Pattern)
设计模式-07 设计模式-观察者模式(Observer Pattern) 1.定义 观察者模式是一种软件设计模式,它定义了一种一对多的依赖关系,其中一个对象(称为“主题”)维护了一个依赖对象的列表(称为“观察者”…...
戒烟网站|基于SSM+vue的戒烟网站系统的设计与实现(源码+数据库+文档)
戒烟网站 目录 基于SSM+vue的戒烟网站系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1网站功能模块 2管理员功能模块 3用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主…...
研发管理之认识DevOps
文章目录 一、什么是DevOps二、DevOps的背景和起源三、DevOps的特点和价值1、特点:2、价值: 四、DevOps如何帮助提高软件交付速度和质量 一、什么是DevOps DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称…...
Spring MVC(五) 文件上传
1 单文件上传 在程序开发中,有时候需要上传一些文件。我们在学习Servlet的时候,也做过文件上传的操作,只不过基于Servlet的文件上传操作起来过于复杂,因此所有的MVC框架都提供了自己的文件上传操作,基本上都是基于File…...
Redis——Redis数据分片的三种算法
Redis的数据分片通常是为了实现水平扩展,将数据分散到多个Redis节点上,以提高系统的容量和性能。在Redis的不同实现和集群方案中,数据分片的算法有所不同。以下是Redis数据分片的三种常见算法: 哈希取模分片(Hash Modu…...
【专利】一种日志快速分析方法、设备、存储介质
公开号CN116560938A申请号CN202310311478.5申请日2023.03.28 是我在超音速人工智能科技股份有限公司(833753) 职务作品,第一发明人是董事长夫妇,第二发明人是我。 ** 注意** : 内容比较多,还有流程图、界面等。请到 专利指定页面…...
HFSS学习-day5-边界条件
边界条件 概述边界条件类型1、理想导体边界条件(Perfect E)2、理想磁边界条件(Perfect H)3、有限导体边界条件(Finite Conductivity)4、辐射边界条件(Radiation)5、对称边界条件&…...
AspectCore-Framework扩展组件全解析:与ASP.NET Core、Autofac、LightInject无缝集成
AspectCore-Framework扩展组件全解析:与ASP.NET Core、Autofac、LightInject无缝集成 【免费下载链接】AspectCore-Framework AspectCore is an AOP-based cross platform framework for .NET Standard. 项目地址: https://gitcode.com/gh_mirrors/as/AspectCore-…...
解放双眼:如何用ebook2audiobook将电子书变成专业有声读物
解放双眼:如何用ebook2audiobook将电子书变成专业有声读物 【免费下载链接】ebook2audiobook Generate audiobooks from e-books, voice cloning & 1158 languages! 项目地址: https://gitcode.com/GitHub_Trending/eb/ebook2audiobook 你是否曾经在通勤…...
Sub-Zero性能优化:7个技巧让你的Plex字幕运行如飞
Sub-Zero性能优化:7个技巧让你的Plex字幕运行如飞 【免费下载链接】Sub-Zero.bundle Subtitles for Plex, as good you would expect them to be. 项目地址: https://gitcode.com/gh_mirrors/su/Sub-Zero.bundle Sub-Zero是Plex媒体服务器最强大的字幕插件之…...
如何高效批量下载抖音无水印视频:开源工具完整实战指南
如何高效批量下载抖音无水印视频:开源工具完整实战指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…...
Windows 10/11 HTTPS抓包证书信任配置全指南
1. 为什么HTTPS抓包在Win10/Win11上总卡在“证书不信任”这一步?你是不是也遇到过这样的场景:在Windows 10或Windows 11上装好Charles,勾选了SSL Proxying,手机连上Wi-Fi、设置代理指向本机IP和8888端口,结果打开任何H…...
从‘乱码’到‘可读’:我是如何用LayoutLMv3和Tesseract拯救一份无法复制的PDF合同的
从‘乱码’到‘可读’:我是如何用LayoutLMv3和Tesseract拯救一份无法复制的PDF合同的 那天下午,法务部的同事急匆匆地推开了我的办公室门,手里拿着一份标着"紧急"的PDF合同。"这份合同扫描件里的文字全都无法选中,…...
CANN/asc-devkit同步通知API文档
asc_sync_notify 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcod…...
LangChain 是什么?从零开始学会 LangChain 的工程实践指南
LangChain 是什么?从零开始学会 LangChain 的工程实践指南 1. 文章背景:为什么这个主题重要 在大模型应用开发中,很多人第一次接触 LangChain,是因为想快速做一个“基于大模型的应用”:例如知识库问答、RAG 检索增强生…...
透明化智慧港口码头•装载·存储·集散全流程透明化管控方案
一、方案前言本方案依托黎阳之光镜像孪生、时空AI拓扑、无感全域定位、视频实景融合、边缘实时算力五大核心技术,聚焦港口码头货物装载、堆场存储、集疏运集散三大核心业务,打造实景可视、数字镜像、智能调度、全程透明、风险可控、全程可溯的智慧管控体…...
沥青生产导向的常减压过程模拟及排产计划优化【附仿真】
✨ 长期致力于沥青生产、多目标优化、遗传算法、排产、换热网络综合、粒子群算法研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)原油实沸点切割与沥青…...
