REACT (cra): при попытке использовать jQuery в "eventRender" в fullcalendar я получаю ошибку: $ el.popover не является функцией - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь реализовать опцию popover в событиях календаря, используя предложенную реализацию из fullcalendar docs , но когда я пишу функцию обратного вызова, которая использует метод popover и jQuery, я получаю ошибку:

TypeError: $ el.popover не является функцией

Вот часть моего кода.

class CalendarComponent extends React.Component {

    componentDidMount = () => {
        this.init();
    }  

  init = () => {
    [...]

        $('#calendar').data("activityAssignedEvents", activityAssignedEvents);
        $('#calendar').fullCalendar({
            header: false,
            defaultView: "timelineDay",
            height: "auto",
            slotLabelFormat: "HH",

            // businessHours: businessHours,
            themeSystem: "bootstrap4",
            slotLabelInterval: "02:00:00",
            slotDuration: "01:00:00",
            nowIndicator: true,
            now: moment.utc(),
            timezone: "local",
            locale: "pt-br",
            events: activityAssignedEvents,
            eventRender: function (eventObj, $el) {
                $el.popover({
                    title: eventObj.title,
                    content: eventObj.description,
                    trigger: 'hover',
                    placement: 'top',
                    container: 'body'
                });
            },

        });
  }
}

Мой импорт:

import $ from 'jquery';
import 'fullcalendar';

Я не уверен, как решить эту проблему.

Я уже пытался обновить версии jQuery и Bootstrap с помощью npm, но ничего не изменилось.

1 Ответ

0 голосов
/ 01 апреля 2019

мало идей .. попробуй:

  1. $el = $($el); в функции eventRender перед использованием $el.popover(... (это может быть не объект jQuery)

  2. Добавьте js-файл библиотеки календарей и jquery в свой заголовок внутри index.html

  3. Убедитесь, что скрипт выполняется после загрузки библиотек

...