完整日历:在启动时传递空值

FullCalendar: Passing null in start

本文关键字:空值 启动 日历      更新时间:2023-09-26

我正在一个项目中使用完整的日历。json 事件包含许多条目,在少数条目中,开始日期为 null。我希望这些事件在日历中不可见。但是现在,这些事件在当前日期中可见。有什么办法可以处理这个问题吗?

有两种方法。使用自定义事件源函数筛选出它们,或在 eventDataTransform 中更改它们。

在这两者中,eventDataTransform通常更容易,除非您已经在为事件源使用函数。

Garima关于使用eventRender的建议是行不通的,因为FC在进入eventRender之前会抛出错误。

事件数据转换方法

eventDataTransform: function (eventData) {
    if (eventData.start == null) { //catches null or undef
        eventData.start = moment("1975","yyyy"); //some time that won't be used
        eventData.end = moment("1975","yyyy");
    }
    return eventData;
}

JSFiddle

如果这对您来说太麻烦了,请执行以下操作:

eventDataTransform: function (eventData) {
    if (eventData.start == null) { //catches null or undef
        eventData.start = moment(); //set it to a valid time
        eventData.hidden = true; //flag it as invalid (this will be a custom property of the event)
    }
    return eventData;
}

然后让eventRender回调在event.hidden === true时返回 false。

但这需要做更多的工作,可能没有必要。