Fullcalendar updateEvent未正确渲染事件
问题描述:
我正在使用updateEvent
方法在周视图中即时更新事件。Fullcalendar updateEvent未正确渲染事件
$('#calendar').fullCalendar('updateEvent', event);
它工作正常如果我更新事件的日期(它在整个allDay插槽移动很好)。但是,如果我改变现有的事件的开始/结束的时候,我没有看到updateEvent
(这意味着更新的事件消失)后,我看到了事件对象在控制台的事件
start: Object, end: null, // For the old event. Object is moment, converted by fullcalendar
start: '2017-02-14T07:00:00', end: '2017-02-14T08:00:00' // Updated date and time
所以,显然我正确设置日期和时间。我不知道为什么它不起作用。任何建议?
答
我解决了这个问题。
我尝试使用removeEvents
删除旧事件,并通过调用renderEvents
创建了一个新事件。仍然是同样的问题。
然后我尝试从事件对象中删除所有以_
开头的属性,当我从fullcalendar's
中删除source
对象时它就起作用。
从文档中,
source
自动填充,它是此事件来自的事件源的引用。
很清楚,当我们更新事件时,我们必须删除该事件的source
属性,否则它可能仍然会引用旧事件。
这是我的代码。
$('.calendar').fullCalendar('removeEvents', oldEvent._id);
delete oldEvent._id;
delete oldEvent._allDay;
delete oldEvent._start;
delete oldEvent._end;
delete oldEvent.source;
$('.calendar').fullCalendar('renderEvent', oldEvent, true);