Fullcalendar v5 - 如何调用已经初始化和渲染的日历

问题描述 投票:0回答:2

我有一个初始化的日历:

 $(document).ready(function(){
            
   var calendarEl = document.getElementById("calendar");
   var calendar = new FullCalendar.Calendar(calendarEl, {
       //options
   });
   calendar.render();
});

还有一个日期选择器,单击时会重定向到代码的不同部分:

$(function(){
    $("#datepicker").datepicker({
         //options
         onSelect: function(dateText) {
              resultado('mensaje', 'procesos.php?ac=10&v=D&fecha=' + dateText)
              },           
         });
     });

在代码的这一部分中,我曾经能够获取所选日期并调用已渲染的日历来更改其显示的日期和视图,如下所示:

var ndate = new Date(//date conversion);
    
    $('#calendar').fullCalendar('gotoDate', ndate);
    $('#calendar').fullCalendar('changeView', 'agendaDay');

升级到 v5 后,我似乎无法复制此内容。我已经阅读了 FullCalendar 中的每一页文档,并且尝试了不同版本,但没有成功:

$('#calendar').calendar(function(){
     calendar.gotoDate(ndate);
     calendar.changeView(timeGridDay);
});

有人知道如何替换 .fullCalendar 或对其他尝试有什么建议吗?非常感谢!

javascript scope fullcalendar fullcalendar-5
2个回答
2
投票

https://fullcalendar.io/docs/methods展示了如何做到这一点。您可以使用

var calendar = new FullCalendar.Calendar...
获取初始化的日历实例,并可以调用其上的函数,就像任何 JS 类实例一样:

calendar.next();

当然,如果您需要在脚本中的其他地方使用它,那么您需要确保

calendar
位于您需要它的地方范围内。如果您没有更复杂的类结构或其他任何可以给您范围考虑的东西,那么在最简单的情况下,您可以将其设为全局,例如

var calendar; //global variable

$(function() {
  calendar = new FullCalendar.Calendar(calendarEl, {
    //options
  });

  calendar.render();
});

0
投票

我有一个问题,我正在使用 FullCalendar v5.11.5 该库在 salesforce 开发人员组织上呈现,但不在 salesforce sandbox 组织上呈现,为什么?

有人可以帮我吗?

© www.soinside.com 2019 - 2024. All rights reserved.