jQuery fullCalendar在标题上显示未定义

Gra*_*van 14 javascript jquery jsx fullcalendar reactjs

我在ReactJs组件上使用jQuery fullcalendar.

我有一个 <div id="calendar"></div>渲染方法

在componentDidUpdate上,我使用以下代码更新了日历:

$('#calendar').fullCalendar({
header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
},

events: _this.state.events,
defaultView:'month',
displayEventTime: false,
editable: false,
droppable: false,
durationEditable: false
});
Run Code Online (Sandbox Code Playgroud)

它在标题上显示"未定义"字符.我哪里做错了?以及如何调试未定义字符串的来源?

jquery完整的日历

目前,我做了一个被黑客攻击的解决方案,通过添加以下内容从标题中删除所有未定义的字符串:

viewRender: function(view, element) {
//note: this is a hack, i don't know why the view title keep showing "undefined" text in it.
//probably bugs in jquery fullcalendar
$('.fc-center')[0].children[0].innerText = view.title.replace(new RegExp("undefined", 'g'), ""); ;

},
Run Code Online (Sandbox Code Playgroud)

还有更好的解决方案吗?

我正在使用jquery FullCalendar v2.9.1

以下有关事件的示例数据:

[{"start":"2017-03-24T00:00:00.000Z","end":"2017-03-26T00:00:00.000Z","title":"Open house","description":"Bali 1 open house"}]
Run Code Online (Sandbox Code Playgroud)

注意:我最终倾倒了jquery完整日历,转而使用react-big-calendar.

Dev*_*yde 6

升级fullCalendar之后,我遇到了同样的问题,我花了一点时间才想出原因,因为近一年来一切都运行良好,并且过去我完全没有问题地升级过fullCalendar,出于某种原因,我不得不将其包括moment.js在页面中正在使用fullCalendar,请参阅我运行的是MVC网站,以前是母版页(_layout.cshtml)引用moment.js,现在不知道为什么它不再起作用了,就像我在实际使用的页面中添加了对moment的引用一样fullCalendar和undefindundefined消失了,所以我遇到的另一个事件也是如此。

就我而言,解决方法是:

@Scripts.Render("~/bundles/dates") 
Run Code Online (Sandbox Code Playgroud)

在您的情况下,可能只是:

<script src='//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'></script>
Run Code Online (Sandbox Code Playgroud)


Has*_*rar 5

将 fullCalendar.js 从 v2.6.1 升级到 v3.4.0 后,我遇到了同样的问题

在我的情况下,通过在moment.js之后包含fullcalendar.jsscheduler.min.js解决了问题