Я внедряю библиотеку vue-hotel-datepicker в свой проект и хочу динамически добавлять даты в свойство disabledDates после выполнения вызова ajax, но моя реализация делает не похоже на работу. Когда я выполняю отладку с помощью Vue devtools, я ясно вижу, что массив disabledDates
содержит мои правильные даты, просто не отображает их как 'отключенные'. Это работает, когда я жестко кодирую эти даты.
Шаблон:
<datepicker
:disabledDates="disabledDates"
:firstDayOfWeek="1"
>
</datepicker>
JS:
data() {
return {
disabledDates: this.fetchBookedDates() //contains correct data, see screenshot below
}
},
methods: {
fetchBookedDates() {
window.fetch(Routing.generate('bookings'))
.then(response => response.json())
.then(data => this.disabledDates = data['period'])
.catch((error) => console.log(error));
}
}
Шаги отладки:
Vue devtools показывает disabledDates
из моего вызова извлечения сразу после загрузки страницы, но все даты по-прежнему включены в моем указателе даты:
Закодировано (работает):
Когда я жестко кодирую пару дат, показывает мои даты как «отключенные»:
data() {
return {
disabledDates: ['2019-02-03', '2019-02-04']
}
}
И я получаю те же результаты в devtools Vue, что и при их динамическом добавлении (также при загрузке страницы):
Что плохого в моей реализации и как мне это исправить?
EDIT
Компонент HotelDatePicker
генерируется из моей библиотеки, которая содержит свойство disabledDates
, которое мне нужно перезаписать. Этот снимок экрана является результатом динамического добавления disabledDates
с помощью вызова ajax, как описано выше. После моего вызова ajax оба компонента (Datepicker и HotelDatePicker) имеют одинаковый disabledDates
, содержащий одинаковые данные. Но мои даты не отображаются как «отключенные» (только когда я жестко их кодирую)