我正在使用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
所以,显然我正确地设定了日期和时间。我不知道它为什么不起作用。有什么建议吗?
答案 0 :(得分:0)
我解决了这个问题。
我尝试使用removeEvents
删除旧事件,并通过调用renderEvents
创建了一个新事件。仍然是同一个问题。
然后我尝试从事件对象中删除所有以_
开头的属性,当我从source
中删除fullcalendar's
对象时,它就起作用了。
从文档中,
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);