Fullcalendar计划程序资源引用未更新垂直资源视图

Fullcalendar计划程序资源引用未更新垂直资源视图,fullcalendar,scheduler,Fullcalendar,Scheduler,我在使用fullcalendar scheduler插件更新资源时遇到问题。 我使用垂直资源视图。奇怪的是,这个问题并没有发生在时间轴视图中 我使用一个函数(重新)获取资源,假设它很简单,举个例子,如下所示: var t = this; t.someParam = false; $(el).fullCalendar({ resources: function(callback){ //do stuff if(t.someParam ===

我在使用fullcalendar scheduler插件更新资源时遇到问题。 我使用垂直资源视图。奇怪的是,这个问题并没有发生在时间轴视图中

我使用一个函数(重新)获取资源,假设它很简单,举个例子,如下所示:

var t = this;
t.someParam = false;
$(el).fullCalendar({
    resources: function(callback){
            //do stuff
            if(t.someParam === true){
                callback([{id: 1, title: 'title'}]);
            }
            else{
                callback([{id: 2, title: 'title2'}]);
            }
        }
    }
);
这意味着当我重新蚀刻时,我会调用

$(el).fullCalendar('refetchResources')
fetch工作(调用资源回调)。另外,在重新蚀刻之前,我将一个参数(例如“someParam”)设置为某个值(true),这会影响结果(参见示例),只是为了模拟不同的结果。结果是一个工作数组,如果我调用

$(el).fullCalendar('getResources') //after refetch
计划的资源已添加到日历中。

问题是,在我跳到另一个视图或更改日期之前,资源不会在视图中呈现。我尝试了“渲染”功能,但不起作用。我不想使用“addResource”(最好),即使这会立即呈现视图。我希望视图更新,就像使用“refetchEvents”一样

我也有同样的问题。当调用refetchResources时,我使用ajax以数组的形式获得结果。数组已更新,但未在日历中呈现

在fullcalendar.io文档中

如果资源选项被指定为函数,则将调用它。如果资源选项被指定为JSON提要,将再次请求它

所以我所做的就是在你写问题时,通过fullcalendar选项中的一个函数获取结果,并进行一些更新

 resources: function(callback){
              if(t.someParam)  {
                 rooms=[{id: 1, title: 'It is TRUE!'},{id: 2, title: 'Resource 2'}]
              }
              else{
                rooms=[{id: 3, title: 'It is False!'},{id: 4, title: 'Resource 4'}]
                  }
                  callback(rooms);
                }
然后添加了一个自定义按钮,用于更改t.someParam的值并调用refetch

 customButtons: {
    addRemoveResource: {
         text: 'refetchResources',
         click: function() {
         t.someParam=!t.someParam;
         $calendar.fullCalendar('refetchResources');
        }
  }

尝试此链接

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-谢谢你的建议,我更新了答案,提供了更多关于解决方案的信息。