Fullcalendar调度程序资源重新获取不更新垂直资源视图

时间:2016-02-16 09:23:29

标签: fullcalendar scheduler

我在使用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'”一样。

1 个答案:

答案 0 :(得分:1)

我有同样的问题。我将结果作为带有ajax的数组获得,当调用refetchResources时,数组已更新但未在日历中呈现。

在fullcalendar.io文档中,它说

  

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

所以我所做的就是在你用一些更新写下问题时从fullcalendar选项中的函数中获取结果

/System/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenv -p python3 env

然后添加了一个自定义按钮,它改变了t.someParam的值并调用了refetch

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

试试这个this guide