Fullcalendar v5 удаляет все события при нажатии кнопки
Я хочу удалить все события в fullcalendar v5 одним нажатием кнопки, приведенный ниже код отлично работает
calendar.addEventSource([
{
title: 'Business Lunch',
start: '2020-04-03T01:00:00',
},
]);
Но как я могу удалить / очистить / удалить все события после нажатия кнопки? В более старой версии fullcalendar есть этот метод
calendar.fullCalendar( 'removeEvents', []);
А как насчет v5? Я попробовал приведенный ниже код, но он выдает ошибкуremove is not a function
. Я даже пробовалcalendar.refetchEvents();
но ничего не работает.
$('.button').click(function(event) {
calendar.remove();
});
3 ответа
Fullcalendar v5 удалить все события
calendar.removeAllEvents();
Должен вызываться в экземпляре источника события. Используйте getEventSources.
removeEvents = calendar.getEventSources();
removeEvents.forEach(event => {
event.remove();
});
@tta и @Leandro Lazzaretti:
Отличные ответы! Я искал это и обе работы, но обнаружил важное различие между ними:
calendar.removeAllEvents(); // This will NOT clear the events source array
и
removeEvents = calendar.getEventSources();
removeEvents.forEach(event => {
event.remove(); // this will clear
});
Вы можете проверить это, выполнив:
removeEvents = calendar.getEventSources();
removeEvents.forEach(event => {
event.remove();
});
calendar.addEventSource('yourSourceHere');
var e = calendar.getEventSources();
console.log(e);