2017-10-21 13 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); 
関連する問題