FullCalendar 在事件标题中显示 HTML

Dan*_*pin 3 javascript fullcalendar fullcalendar-4

我正在将 Fullcalendar 安装更新到 V4。我通过 JSON 提供数据,并且我的活动标题中有 HTML(一些 FontAwsome 图标)。这是我用来渲染元素的旧 V3 代码:

$(function() {
  $('#calendars').fullCalendar({
    events: '/activities/calendar.json',
    contentHeight: 750,
    displayEventTime: false,
    header: {
      left: '',
      center: 'title',
      right: 'today prev,next'
    },
    businessHours: {
      dow: [1, 2, 3, 4, 5]
    },
    handleWindowResize: true,
    eventLimit: 2,
    eventLimitClick: 'popover',
    eventRender: function(event, element) {
      element.find('.fc-title').html(event.title);
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

eventRender:就是失败的原因。新文档没有清楚地解释我如何将其转换为新版本。使用此代码后,我的日历根本无法加载,并在控制台中出现 json 解析错误。如果我删除它,它可以工作,但我的 HTML 会呈现为纯文本。我确信我在这里遗漏了一些明显且简单的东西。我的 JS 技能不太好。

Fev*_*nli 7

从 FullCalendar v5 开始,您可以使用 eventContent。

document.addEventListener('DOMContentLoaded', function() {
   let calendarEl = document.getElementById('calendar');
   let calendar = new FullCalendar.Calendar(calendarEl, {
      initialView: 'dayGridMonth',
            
      events: [
            {
                "id": 1,
                "title": "First Line<br>Second Line",
                "start": "2022-06-04",
                "end": null,
                "allDay": true,
                "editable": true,
                "className": "badge-soft-warning",
           
            }
        ],

      eventContent: function( info ) {
          return {html: info.event.title};
      }

    });
    calendar.render();
})
Run Code Online (Sandbox Code Playgroud)