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

最佳答案

有两种方法。使用自定义event source function过滤掉它们,或在eventDataTransform中对其进行更改。

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

Garima关于使用eventRender的建议无效,因为FC在进入eventRender之前抛出了一个错误。

eventDataTransform方法

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。

但这需要更多工作,而且可能没有必要。

09-16 08:33