Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fullcalendar版本4:refetch事件不';t删除新添加的事件_Javascript_Fullcalendar_Fullcalendar Scheduler_Fullcalendar 4 - Fatal编程技术网

Javascript fullcalendar版本4:refetch事件不';t删除新添加的事件

Javascript fullcalendar版本4:refetch事件不';t删除新添加的事件,javascript,fullcalendar,fullcalendar-scheduler,fullcalendar-4,Javascript,Fullcalendar,Fullcalendar Scheduler,Fullcalendar 4,我使用的是fullcalendar版本4,并且我添加了一个自定义按钮,用当前信息/事件“刷新”日历 这是我的按钮: customButtons: { myReloadButton: { text: 'refresh', click: function() { calendar.refetchEvents(); calendar_mini.refetc

我使用的是fullcalendar版本4,并且我添加了一个自定义按钮,用当前信息/事件“刷新”日历

这是我的按钮:

 customButtons: {
        myReloadButton: {
            text: 'refresh',
             click: function() {
                    calendar.refetchEvents();
                    calendar_mini.refetchEvents();
               }
            }
正如您所见,我有两个日历要刷新。它工作正常,但我注意到一个问题。当我创建一个新的事件时,它会被添加到日历中。但是,如果用户随后单击“刷新”按钮,则重新加载事件后,刚刚添加的事件将显示两次。似乎在刷新期间从未删除新添加的事件

我有一个模态表单,可以打开它来收集事件的信息。保存事件后,下面是我如何保存它(通过ajax调用)。在ajax的成功中,我使用.addEvent()将事件添加到我的日历中


为什么“刷新”按钮不删除新添加的事件?

问题在于重新蚀刻事件只是从定义的源重新加载事件。它对未附加到源的独立事件没有任何影响

有两种方法可以解决这个问题

一种解决方案是替换
calendar.addEvent(事件对象)calendar.refetchEvents()-然后它立即从服务器重新加载,其中将包括新添加的事件,而不是直接向日历添加单独的独立事件

另一个选项是在将事件添加到日历时将其附加到源。警察说

source
表示要关联此事件的事件源 具有它可以是字符串事件源ID或事件源对象。 重新蚀刻源时,将清除动态添加的源 事件从内部缓存中取出。此参数为 可选

因此,如果在声明事件源时为其提供了一个ID,则可以将其作为一个额外选项放置在此处,以将事件与源关联起来。大概是这样的:

calendar.addEvent(event_object, 1);
你试过这个吗?
calendar.addEvent(event_object, 1);