使用 renderevent 添加未来事件 fullcalendar

using renderevent to add future events fullcalendar

我正在尝试使用以下方法添加下个月的活动:

var myEvent = {
  title:"my new event",
  start: $.fullCalendar.moment('2020-05-28T13:00'),
  end: $.fullCalendar.moment('2020-05-28T13:55')
};
$('#calendar').fullCalendar( 'renderEvent', myEvent );

好像不粘

我试过使用文档 https://fullcalendar.io/docs/v3/renderEvent-demo 中的演示,但它似乎也不起作用。

有没有办法做到这一点,或者这是一个限制?

通过导航 fullCalendar 重新获取其事件,您需要将第三个参数设置为 true,这将通过导航保留您添加的事件。

这是一个简单的演示https://codepen.io/nasser-ali-karimi/pen/VwYNdbj?editors=0010

$(function() {

  $('#calendar').fullCalendar({
    defaultView: 'month',
    header: {
      center: 'addEventButton'
    },
    customButtons: {
      addEventButton: {
        text: 'add event...',
        click: function() {
            $('#calendar').fullCalendar('renderEvent', {
              title:"my new event",
              start: "2020-02-09T07:00",
              end: "2020-02-09T07:50"
            } , true  );

        }
      }
    }
  });
});

根据 renderEvent documentation,您可以选择提供名为 stick 的第三个参数。文档是这样说的:

Normally, the event will disappear once the calendar refetches its event sources (example: when prev/next is clicked). However, specifying stick as true will cause the event to be permanently fixed to the calendar.

所以

$('#calendar').fullCalendar( 'renderEvent', myEvent, true );

应该可以解决您的问题。