在Fullcalendar v4中切换月份时会重复事件



我使用的是这样的Fullcalendar v4。事件被正确加载,但当我手动添加一个新事件(它也通过ajax调用保存到SQL数据库(,然后我更改月份并返回时,该事件会被渲染两次。我不确定是什么原因造成的,因为当我再次换月时,事件仍然只是加倍,而不是加倍。

我曾尝试将lazyLoading或cache设置为false,例如,在使用$('.fc-event').remove();渲染之前删除所有事件,但没有帮助。

var calendar = new FullCalendar.Calendar(document.getElementById('calendar'), {
defaultView: 'resourceTimeline30',
views: {
resourceTimeline30: {
type: 'resourceTimeline',
duration: { days: 30 }
}
},
editable: false,
selectable: true,
resources: [ ... ],
events: 'https://www.example.com/?fullcalendar=load',
/*
// did not help
lazyLoading: true,
events: {
url: 'https://www.example.com/?fullcalendar=load',
cache: false,
extraParams: function() {
return {
cachebuster: new Date().valueOf()
};
}
}
*/
});
calendar.render();

因此,如果有人需要它,根据上面的评论,有效的解决方案是:

替换:

events: 'https://www.example.com/?fullcalendar=load',

eventSources: [{
'id': 1,
'url': 'https://www.example.com/?fullcalendar=load'
}],

并将该ID用作addEvent()中的第二个参数

calendar.addEvent(event, 1);

相关内容

  • 没有找到相关文章

最新更新