You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中FullCalendar 5.11全天事件不显示问题求助

问题排查与解决方案

1. 修正全天事件的字段格式

FullCalendar 5.x官方不建议使用startStr/endStr字段,优先用start和end。对于全天事件,注意两个关键点:

  • allDay: true时,start用纯日期格式(比如'2022-08-23'),带时间的ISO字符串也可以,但时间部分会被忽略
  • 必须设置end为起始日的次日(比如'2022-08-24'),因为FullCalendar的全天事件遵循左闭右开的区间规则,不设置end可能导致事件无法被正确识别

修正后的全天事件示例:

{
  id: '64rjv5muo12ha2ih4al3caajue',
  title: 'Test all day event',
  backgroundColor: '#fbe983',
  allDay: true,
  start: '2022-08-23',
  end: '2022-08-24'
}

2. 检查时区配置

时区不匹配是全天事件消失的常见原因。在FullCalendar配置里显式指定时区,确保和事件的时间格式一致:

<FullCalendar
  // 其他配置保留...
  timeZone='UTC' // 或者你的本地时区,比如'Asia/Shanghai'
/>

如果事件用的是UTC时间字符串,就把时区设为UTC;如果是本地时间,就对应设置本地时区。

3. 确保全天插槽有足够高度

虽然你看到了全天时段,但如果插槽高度被压缩到0,事件就会“隐形”。可以强制设置插槽最小高度:

<FullCalendar
  // 其他配置保留...
  allDaySlotMinHeight={60}
/>

4. 验证事件数据是否正确传递

在组件里打印events数组,确认全天事件确实被传入了日历组件,没有被过滤或篡改:

console.log('Calendar Events:', events);

额外测试方案

  • 临时切换到dayGridMonth视图,如果全天事件能显示,说明是timeGridDay视图的配置问题
  • 移除eventMaxStack={1}配置,排除堆叠限制导致的显示问题

内容的提问来源于stack exchange,提问作者Allen Y

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 17:48:10