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

FullCalendar v3自定义level参数排序失效:allDay与非allDay事件被分隔

FullCalendar 3 按自定义level参数全局排序事件(忽略allDay分组)

在FullCalendar 3中,默认事件排序逻辑会先把allDay: true和allDay: false的事件分成两组,再分别应用eventOrder规则——这就是你设置eventOrder: "level"后仍出现分隔的核心原因,哪怕开启eventOrderStrict: true,也只能保证同组内排序严格,无法打破分组壁垒。

要实现所有事件按level全局排序,直接使用eventOrder的函数形式,完全自定义排序逻辑:

$('#calendar').fullCalendar({
  // 其他配置项...
  eventOrder: function(a, b) {
    // 按level升序排序,需要降序就调换return值顺序
    if (a.level < b.level) return -1;
    if (a.level > b.level) return 1;
    // level相同时,可选按事件开始时间补充分组(按需调整)
    return a.start.isBefore(b.start) ? -1 : 1;
  },
  // 其他配置项...
});

关键说明:

  • 这个排序函数会跳过FullCalendar默认的分组逻辑,直接对所有事件做全局比较,完全以level参数为排序依据,不再区分allDay属性。
  • 确保所有事件对象的level属性类型一致(比如都是数字),避免因类型不匹配导致排序异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 05:05:56