我的全日历插件中的弃用警告

Deprecation Warning in my fullcalendar plugin

本文关键字:警告 日历 插件 我的      更新时间:2023-09-26

>我有一个由年份组成的选择,以便完整日历可以转到某个年份和一个按钮来执行此操作。这是我的代码:

$('#btnfilter').on('click', function() {
    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
        },
        eventLimit: true,
        events: '../js/fullcalendar-2.6.0/events.json.php'
    });
    var year = $('#slctyear').val();
    $('#calendar').fullCalendar('gotoDate', year);
})

这段代码有效,但我在控制台中有一个错误。我已经读过了,但我似乎找不到答案。

错误消息指出您传递到完整日历的日期采用将来不受支持的格式。Full Calendar正在使用一个名为MomentJS的库来解析日期,MomentJS正在改变它处理日期的方式。

简而言之,那个长Github线程是说你需要将正确格式的日期传递给完整日历。

您似乎将一年(如2016)传递到完整日历,如下所示:

$('#calendar').fullCalendar('gotoDate', year);

问题是year不是有效的 ISO 日期。要使其有效并防止错误,您需要在将日期传递到"完整日历"之前设置日期的格式。

要正确格式化日期,您需要使用 Javascript 的 Date() 。在您的情况下,您需要执行以下操作:

var year = new Date($('#slctyear').val(), 0 , 1);
$('#calendar').fullCalendar('gotoDate', year);

Date($('#slctyear').val(), 0 , 1)部分将为表单输入包含的任何年份的 1 月 1 日午夜创建一个 ISO 格式的日期。

这将防止错误。