Как выбрать только видимое событие в FullCalendar v4

Я хочу получить все видимые события в реагирующем представлении FullCalendar v4. Я не могу найти никакого свойства в экземпляре календаря, который отфильтровывает только видимые события. Я могу получить все события, хотя.

Не имея возможности получать только видимые события, я думал отфильтровать все события с помощью видимого диапазона. Но тогда я не могу получить и этот видимый диапазон. Я старался calendar.view, calendar.getView()... ни один из них не существует. Это временное отсутствие методов / свойств или я что-то упускаю?

0 ответов

FullCalendar v4 теперь является полной версией, вот как получить только видимые события:

const visibleEvents = calendar.getEvents().filter(event => {
    const s = calendar.view.activeStart, e = calendar.view.activeEnd
    if (event.start > e || event.end < s) return false
    return true
})

Я знаю, что это более старый пост, и вопрос не касался конкретно вызова метода getView(). Однако я подумал, что это может помочь, если кто-то еще столкнется с этим. Итак, чтобы я мог имитировать вызов getView() с помощью React Fullcalendar, я сделал что-то похожее на приведенное ниже.

let calendarApi = this.calendarRef.current.getApi();
console.log(calendarApi.view.type);

Это означало, что я мог проверять, было ли представление, например, "dayGridMonth" или "listWeek". Надеюсь это поможет.

Другие вопросы по тегам