FullCalendar:在开始时传递 null
FullCalendar: Passing null in start
我在我的一个项目中使用完整日历。 json 事件包含许多条目,并且在少数条目中,开始日期为空。我希望这些事件在日历中不可见。但现在,这些事件在当前日期可见。有什么办法可以解决这个问题吗?
有两种方法。使用自定义 event source function or change them in 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;
}
如果这对你来说太老套了,可以做类似的事情:
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;
}
然后在 event.hidden === true
.
时使 eventRender
回调 return 为假
但这需要更多的工作,而且可能没有必要。
我在我的一个项目中使用完整日历。 json 事件包含许多条目,并且在少数条目中,开始日期为空。我希望这些事件在日历中不可见。但现在,这些事件在当前日期可见。有什么办法可以解决这个问题吗?
有两种方法。使用自定义 event source function or change them in 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;
}
如果这对你来说太老套了,可以做类似的事情:
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;
}
然后在 event.hidden === true
.
eventRender
回调 return 为假
但这需要更多的工作,而且可能没有必要。