У меня есть набор фильтров для выбора даты, который в основном отфильтровывает любые даты, которые недоступны.
Это все работает, как задумано, однако, потому что это наблюдаемый, получающий все недоступные даты, он не показывать отфильтрованные даты до тех пор, пока исходные данные не будут переданы в средство выбора даты.
Вот мой фильтр:
Получите последние недоступные даты из службы, а затем отфильтруйте эти результаты
bookingsFilter = (d: Date | null): boolean => {
this.contentService.bookingResults.subscribe(bookings => this.bookings = bookings);
const day = (d || new Date()).setHours(14, 0, 0, 0);
return !this.bookings.includes(day);
}
И фрагмент шаблона:
<input matInput [matDatepickerFilter]="bookingsFilter" ... required />
Объект bookingResults - это субъект поведения, содержащий массив дат, каждый раз, когда проверка выполняется для серверной части, он обновляет эту тему, и это Фильтр проверяет эту тему.
Все это работает правильно, когда пользователь выбирает дату, и во время проверки она проверяется, и единственное, что я не могу заставить работать, это заставить ее отображать обновленный фильтр. нагрузить.