[fullcalendar]让 listMonth 显示比月份更多的详细信息

[fullcalendar]Have listMonth display more details than month

我想用不同的视图显示不同的事件信息。

在视图 'month' 中,我只想显示最必要的数据,例如 'title'。

但在视图中 'listMonth' 我想显示有关某个事件的附加信息。

我尝试了以下方法,但不知道为什么在 listMonth 视图中这不会更改事件的标题。

$("#calendar").fullCalendar({
  views: {
    listMonth: {
      buttonText: 'list',
      displayEventTime: true
    }
  },
  events: [{
    title: 'event1',
    id: '1',
    start: '2018-01-13T11:00:00',
    end: '2018-01-13T15:00:00',
    addtlTitle: 'event1, where, what, how'
  }],
  eventRender: function(event, element, view) {
    if (view.name == "listMonth") {
      event.title = event.addtlTitle;
    }
  }
});

根据文档 (https://fullcalendar.io/docs/event_rendering/eventRender/),当 eventRender 运行时,它已经创建了将要添加到日历中的 HTML 元素。这是作为回调中的 "element" 参数提供的。在此阶段修改 "event" 对象没有任何效果 - 它只是在那里您可以访问事件的更多属性,以更改 HTML 元素。

相反,您必须检查 HTML 结构以查找该视图类型中呈现的事件,并确定要更改的内容。在这种情况下,代码非常简单:

eventRender: function( event, element, view ) {
  if (view.name == "listMonth")
  {
     element.find('.fc-list-item-title').html(event.addtlTitle);
  }
}, 

请在此处查看工作演示:http://jsfiddle.net/sbxpv25p/81/