Как повторно отрендерить события Fullcalendar - PullRequest
0 голосов
/ 10 июля 2020

Я несколько дней пытался отфильтровать свой полный календарь, но он все еще не работает должным образом. Теперь мне удалось создать по крайней мере 2 разных календаря в зависимости от страницы, на которой вы находитесь (домашняя страница или другая с разными событиями). Итак, на втором у меня есть 2 выпадающих списка со списками. Мне удалось выбрать идентификатор выбранного элемента из раскрывающегося списка, и я пытаюсь передать его в качестве параметра моей функции ax ios, чтобы события fullcalendar имели json, которое я хочу. Однако если вы измените тип события (у меня есть местоположение как тип), это не обновит изменение. Таким образом, в основном он отлично инициализируется с правильными событиями, но если у вас есть 2 типа и вы хотите изменить их в раскрывающемся списке, он ничего не делает.

Вот функция ax ios:

events: async function () {
                if (window.location.href.startsWith(window.origin + "/Booking")) {

                    var data = await axios.get("/Booking/GetBookingsFiltered/", {
                        params: {
                            locationIDparam: locationSelected(), // doesn't update when you change it
                            carIDparam: carSelected(),
                        }
                    })

                    //calendar.events = data.data; some things I've tried and don't work
                    //calendar.rerenderEvents();
                    //calendar.render();

                    return data.data;
                } else { 
                    var data = await axios.get("/Booking/GetBookingsByUser/") // this works
                    return data.data;
                }
            }

Если вам нужен код для получения параметров:

function locationSelected() {
        var location = document.getElementById("location_filter");
        var selected_location = location.options[location.selectedIndex].value;
        console.log("You selected location: " + selected_location);
        return selected_location;
        //$("#calendar").fullCalendar('renderEvent');
        //$('#calendar').fullCalendar('rerenderEvents');
    }

    function carSelected() {
        var car = document.getElementById("car_filter");
        var selected_car = car.options[car.selectedIndex].value;
        console.log("You selected car: " + selected_car);
        return selected_car;
    }

Я пробовал использовать $ ("# calendar"). FullCalendar ('renderEvent') ;, $ (" #calendar "). fullCalendar ('rerenderEvent'); $ ("# календарь"). fullCalendar (). render (); idk ничего не нашел в Интернете или в документации по работе fullcalendar .... помогите пожалуйста

...