eventRender исчезает в fullcalendar v5
Version : Fullcalendar-Scheduler v5 beta2
Я попробовал eventRender, как показано ниже, в хроме:
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('planningMix');
var planningMix = $(calendarEl);
var calendar = new FullCalendar.Calendar(calendarEl, {
//...
eventRender: function(info) {
debugger
},
events: function(d, successCallback, failureCallback) {
//...
}
});
calendar.render();
});
Когда я запускаю этот код, "отладчик" не запускается. eventRender
стало еще одним именем в V5?
4 ответа
те, кто собирался обновиться с V4 до V5, посмотрите этот документ update-from-v4, там было много изменений, которые нам нужно учитывать при обновлении.
Пример содержимого события
eventContent: function (arg) {
var event = arg.event;
var customHtml = '';
customHtml += "<span class='r10 font-xxs font-bold' style='overflow: hidden;'>" + event.title + "</span>";
customHtml += "<span class='r10 highlighted-badge font-xxs font-bold'>" + event.extendedProps.age + text + "</span>";
return { html: customHtml }
}
Я нашел ответ. В v5 eventRender исчезает, он заменяется хуками рендеринга событий, проверьте здесь: https://fullcalendar.io/docs/v5/event-render-hooks
Вы можете использовать это:
eventClick: function (info) {
showdata(info.event.id);
}
Я использовал v3 и обновился до v5 и все еще работает.
У меня также возникла такая же проблема, когда я собирался получать события из бэкэнда, наконец, нашел решение.
'источники событий'
eventSources: {
url: 'test/getEvents',
type: 'get',
error: function() {
alert('there was an error while fetching events!');
}
}
Структура массива серверной части PHP выглядит следующим образом: Пример
$events = [
[
'title' => 'All Day Event',
'start' => '2022-07-26T00:00:00+05:30',
'backgroundColor'=> '#f56954', //red
'borderColor' => '#f56954', //red
'allDay' => true
],
[
'title' => 'All Day Event',
'start' => '2022-07-28T00:00:00+05:30',
'backgroundColor'=> '#f56954', //red
'borderColor' => '#f56954', //red
'allDay' => true
]
];
echo json_encode($events);