Отключить пользовательскую привязку для FullCalendar v4, в зависимости от выпадающего списка - PullRequest
0 голосов
/ 24 февраля 2020

Недавно я обратился за помощью в создании настраиваемой привязки для FullCalendar V4. Сейчас я пытаюсь сделать его зависимым от выпадающего выбранного значения. Я пытаюсь заставить календарь связывать события, основываясь на выпадающем списке. Пожалуйста, просмотрите ссылку ручка . Вот что у меня есть для привязки до сих пор ...

ko.bindingHandlers.fullCalendar = {
        init: function(element, valueAccessor) {
            var value = ko.utils.unwrapObservable(valueAccessor());
            console.log("value: ", value)
            var calendar = new FullCalendar.Calendar(element, {
                plugins: [ 'interaction', 'dayGrid', 'timeGrid' ],
                defaultView: 'dayGridMonth',
                defaultDate: '2019-06-07',
                header: {
                  left: 'prev,next today',
                  center: 'title',
                  right: 'dayGridMonth,timeGridWeek,timeGridDay'
                },
                //events: viewModel.array1()
                events: viewModel.selectedChoice(value)
            });
            calendar.render(); 
        },
        update: function(element, valueAccessor) {
            var value = ko.utils.unwrapObservable(valueAccessor());
            console.log(value)
            if (value === "array1"){
                events: viewModel.array1();
            } else {
                events: viewModel.array2();
            }
        }
};

1 Ответ

1 голос
/ 25 февраля 2020

Похоже, что FullCalendar имеет возможность извлекать события из функции, поэтому вы должны иметь возможность использовать что-то вроде функции getEvents в части инициализации (events: viewModel.getEvents). Тогда все, что вам нужно сделать в части обновления привязки, - это вызвать метод refetchEvents вашего календаря, и он будет обновлять sh, используя новые значения, которые возвращает ваша функция. Создайте свой переключатель на основе значения наблюдаемого в функцию и выложите туда правильные значения.

https://fullcalendar.io/docs/events-function

...