2017-10-21 7 views
1

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 

그래서 명확하게 날짜와 시간을 올바르게 설정하고 있습니다. 나는 그것이 왜 작동하지 않는지 전혀 모른다. 어떠한 제안?

답변

0

나는이 문제를 해결했다.

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);