Я пытаюсь внедрить полный календарь в проект приложения React JS. То, что я хочу сделать, это не просто отображать заголовок, я также хочу, чтобы событие отображало описание.
Я видел ранее заданный вопрос Показать больше текста в полном календаре , который имеет ответ с использованием jquery (2-й ответ), который был
$(document).ready(function() {
$('#calendar').fullCalendar({
events:
[
{
id: 1,
title: First Event',
start: .......,
end: .....,
description: 'first description'
},
{
id: 2,
title: 'Second Event',
start: .......,
end: .....,
description: 'second description'
}
],
eventRender: function(event, element) {
element.find('.fc-title').append("<br/>" + event.description);
}
});
}
Я пытался изменить это в своем коде:
<div id="calendar" class="container">
<FullCalendar
defaultView="dayGridMonth"
height={650}
aspectRatio={2}
plugins={[dayGridPlugin]}
themeSystem='bootstrap4'
weekends={false}
events={[
{ title: 'event1', description: 'Test data', date: '2019-05-13' },
{ title: 'event 2', date: '2019-04-02' }
]}
eventRender={
function(element)
{
element.find('.fc-title').append("<br/>" + "asdasd");}
}
/>
</div>
Без 'eventRender' календарь работает нормально, но мне просто нужно, чтобы это немного заработало, я, вероятно, упускаю что-то действительно очевидное, но я смотрел и пробовал разные вещи и ничего не добился. Надеюсь, кто-нибудь посоветует, как мне это сделать.
UPDATE
На основании вашего ответа я попробовал это, но это не работает. Можете ли вы оказать дополнительную помощь? Я ценю его.
class Calendar extends React.Component {
render() {
return (
<div id="calendar" class="container" ref="calendar">
<FullCalendar
selectable={true}
defaultView="dayGridMonth"
height={650}
aspectRatio={2}
plugins={[interaction, dayGridPlugin, bootstrapPlugin]}
themeSystem="bootstrap"
weekends={false}
displayEventTime={true}
timeZone="UTC"
events={[
{ title: 'Early Bird Registration Deadline', description: 'asdasd', date: '2019-05-13' },
{ title: 'event 2', description: 'asdasdasd', date: '2019-04-02' }
]}
eventRender={this.EventDetail}
/>
</div>
)
}
EventDetail = ({ event, el }) => {
const content = <div>{event.title}<div>{event.description}</div></div>;
ReactDOM.render(content, el);
return el;
};
}
export default Calendar;