Fullcalendar V4 - 清除所有事件

Fullcalendar V4 - clear all events

我正在从 JSON 源加载动态事件,但每次单击不同的房间时,我想在获取新事件之前清除所有事件

我已经尝试清除 eventSource 但无济于事

var eventSource = calendar.getEventSources()
eventSource.remove();

导致错误:

Uncaught TypeError: eventSource.remove is not a function

我以前一直在使用 V3,但升级到 V4,关于如何清除事件的文档有点难以理解。

你绝对是对的,我今天收拾东西特别慢!

var eventSources = calendar.getEventSources(); 
var len = eventSources.length;
for (var i = 0; i < len; i++) { 
    eventSources[i].remove(); 
} 

是解决方案,正如 ADyson 所建议的那样。

您可以调用removeAllEvents函数删除所有事件而不刷新整个页面:

document.addEventListener('DOMContentLoaded', function () {
     var calendarEl = document.getElementById('calendar');

     var calendar = new FullCalendar.Calendar(calendarEl, {/*OPTIONS*/});

     $('#button').on('click', function () {
          calendar.removeAllEvents();
     });
});

版本 5 不支持 removeEvents 功能。您可以循环遍历事件列表并将它们一一删除:

var listEvent = calendar.getEvents();
listEvent.forEach(event => { 
  event.remove()
});

版本 5.4.0

Event-Remove

$('#calendar').fullCalendar('removeEvents');