changing slotMinutes



我只显示最初出现20分钟槽分钟的日历。我正在尝试允许用户在飞行中更改为10分钟的slot分钟。

我有一个触发以下代码的按钮:

$('#calendar').fullCalendar('option', 'slotMinutes', 10);

但是我无法让屏幕重新绘制以反映新的设置。我试过了:

$('#calendar').fullCalendar("render")
$('#calendar').fullCalendar("refetchEvents");

我正在使用议程周视图,并希望它重新绘制并保持在同一周。

我已经把文件倒了。我错过了什么?

既然这需要重新绘制整个日历,为什么不直接从视图中删除旧的#calendar实例并使用新的slotMinutes选项重新加载完整的日历呢?你可以得到当前视图。start/view。使用getView()函数获取当前视图的end和view.name(http://arshaw.com/fullcalendar/docs/views/View_Object/)。http://arshaw.com/fullcalendar/docs/views/getView/

然后在你重新绘制日历后调用'goToDate'并使用'start'日期/时间从上面更改到最后使用的日期。

你不能即时更改完整日历的选项。目前不支持。要做到这一点,唯一的方法就是重建整个对象。

关于这个增强的讨论在这里

我在github上做了一个脏叉来满足我的需要,它可以适合你的。

我已经在这里粘贴了diff(更新你的fullcalendar.js):

function option(name, value) {
    if (value === undefined) {
        return options[name];
    }
    if(options[name] === value)
        return;
    options[name] = value;
    if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') {
        updateSize();
    }
    else {
        options.events = options.backupEvents;
        $(element).fullCalendar('destroy');
        $(element).fullCalendar(options);            
    }
}

相关内容

  • 没有找到相关文章

最新更新