【问题标题】:Fullcalendar v5 remove all events on button clickFullcalendar v5 删除按钮点击的所有事件
【发布时间】:2020-04-13 13:34:46
【问题描述】:

我想在单击按钮时删除 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();
});

【问题讨论】:

  • 您查看 v5 文档了吗? fullcalendar.io/docs/v5#toc 。据我所知,它与 v4 中的相同。您必须获取所有事件,遍历它们并删除每个事件。要么,或者如果你使用事件源,你可以删除事件源。
  • @ADyson 我实际上遇到了同样的问题。访问方式发生了一些变化,但我还没有完全弄清楚。在 v4 中为我工作,我得到与 V5 中的 OP 相同的错误

标签: javascript fullcalendar fullcalendar-5


【解决方案1】:

Fullcalendar v5 删除所有事件

calendar.removeAllEvents();

【讨论】:

  • 这应该被标记为正确答案,为我工作。
【解决方案2】:

必须在事件源实例上调用。使用 getEventSources。

removeEvents = calendar.getEventSources();

removeEvents.forEach(event => {
     event.remove();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    相关资源
    最近更新 更多