溫馨提示×

如何自定義fullcalendar的事件渲染方式

小樊
264
2024-09-03 01:03:49
欄目: 編程語言

要自定義 FullCalendar 的事件渲染方式,你可以使用 eventContenteventDidMount 這兩個回調函數。它們分別用于生成事件的內容和在事件已經掛載到 DOM 后進行操作。

首先,確保你已經安裝并引入了 FullCalendar 庫。接下來,按照以下步驟進行操作:

  1. 在你的 HTML 文件中創建一個容器元素,用于存放 FullCalendar:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>FullCalendar Custom Event Rendering</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/5.9.0/main.min.css">
   <script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/5.9.0/main.min.js"></script>
</head>
<body>
    <div id="calendar"></div>
   <script src="app.js"></script>
</body>
</html>
  1. 在你的 JavaScript 文件(例如 app.js)中初始化 FullCalendar,并設置 events 數據源。然后,使用 eventContenteventDidMount 回調函數自定義事件渲染:
document.addEventListener('DOMContentLoaded', function() {
  var calendarEl = document.getElementById('calendar');

  var calendar = new FullCalendar.Calendar(calendarEl, {
    initialView: 'dayGridMonth',
    events: [
      {
        id: '1',
        title: 'My Event',
        start: '2022-01-01'
      },
      {
        id: '2',
        title: 'Another Event',
        start: '2022-01-02'
      }
    ],
    eventContent: function(args) {
      // 自定義事件內容
      let content = document.createElement('div');
      content.innerHTML = `
        <div class="custom-event">
          <span class="title">${args.event.title}</span>
          <span class="date">${args.event.startStr}</span>
        </div>
      `;
      return { html: content.outerHTML };
    },
    eventDidMount: function(args) {
      // 在事件掛載到 DOM 后進行操作
      args.el.style.backgroundColor = 'lightblue';
      args.el.style.borderRadius = '5px';
    }
  });

  calendar.render();
});

在這個示例中,我們為每個事件創建了一個包含標題和日期的自定義 HTML 結構,并在 eventDidMount 回調函數中設置了背景顏色和邊框半徑。你可以根據需要修改這些值以實現你想要的效果。

注意:這里的代碼示例使用了 FullCalendar v5,但是這些回調函數在其他版本中也應該類似。如果你使用的是不同版本的 FullCalendar,請查閱相應版本的文檔以獲取更多信息。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女