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

jQuery FullCalendar加载超199条事件时日历不显示问题排查

FullCalendar加载事件超过199条时渲染失败问题

问题现象

  • 基于jQuery FullCalendar对接数据库返回数据开发日程调度功能,测试阶段出现异常:加载的事件数据量超过199条时,日历组件无法正常显示;将返回数据量截断到199条及以内时,日历可恢复正常渲染。
  • 初期排查方向误判为FullCalendar存在事件数据量承载上限,超过199条数据就会触发组件崩溃。

相关初始化代码

$('#calendarIO').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,basicWeek,basicDay,add_event'
    },
    firstDay: 0,
    defaultDate: moment().format('YYYY-MM-DD'),
    handleWindowResize: true,  
    eventOrder: "time",
    editable: true,
    eventLimit: true, // 事件过多时显示"更多"链接
    selectable: true,
    selectHelper: true,
    eventDrop: function(event, delta, revertFunc) {
        editDropResize(event);
    },
    eventResize: function(event,dayDelta,minuteDelta,revertFunc) {
        editDropResize(event);
    },
    eventClick: function(event, element)
    {
        detail(event);
        editData(event);
        deleteData(event);
    },
    events: JSON.parse(get_data),
    eventRender: function(event, element)
    { 
        element.find('.fc-title').prepend(event.starttime + "-" + event.endtime + " ");
    },
    displayEventTime: false
});

最终排查结论

经后续多轮验证确认,该问题和FullCalendar组件本身的承载能力无关,不存在199条的数量上限,问题根源为数据库侧返回的数据异常:前199条事件数据格式完全符合组件要求,从第200条开始存在脏数据(常见为必填的时间字段缺失、时间格式不合法、特殊字符未转义、字段值为空/非法类型),导致JSON解析或组件渲染流程中断,才会出现刚好超过199条就渲染失败的现象。

同类问题排查建议:拿到接口返回的全量事件数据后,优先做JSON格式合法性校验,再逐批核对事件字段是否符合FullCalendar的格式要求,重点检查时间字段的合法性,不需要在组件本身的性能限制方向浪费排查时间,正常配置下FullCalendar可稳定承载上千条事件的渲染。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:21:44