Я использую Angular Material, и у меня есть динамический массив дат, который я хочу исключить из моего средства выбора даты.Кроме того, я также пытаюсь исключить субботы.Как я могу вернуть несколько дат с помощью моего matDatepickerFilter?Имейте в виду, что я не могу жестко закодировать каждый элемент массива по отдельности, потому что массив изменчив и по прошествии некоторого времени изменится как по своим значениям, так и по длине.
Это мой HTML:
<mat-form-field style="text-align: center;"
[ngClass]="{'hideTitle': submitted && f4.houseNumber.errors?.required && f4.aptNumber.errors?.required}">
<input matInput
[matDatepicker]="picker"
placeholder="Desired Delivery Date"
[matDatepickerFilter]="myFilter"
formControlName="deliveryDate"
style="font-family: 'Open Sans Condensed', sans-serif; color:white;">
<mat-datepicker-toggle matSuffix [for]="picker"
style="color:gold;outline:none;"></mat-datepicker-toggle>
<mat-datepicker touchUi #picker disabled="false"></mat-datepicker>
</mat-form-field>
Это мой массив:
this.allDupedDates = [
new Date('2019-04-30T00:00:00+02:00'),
new Date('2019-04-28T00:00:00+02:00'),
new Date('2019-05-21T00:00:00+02:00'),
new Date('2019-05-23T00:00:00+02:00')
]
А это код:
myFilter = (d: Date): boolean => {
const time = d.getTime();
const day = d.getDay();
for (let i = 0; i < this.allDupedDates.length; i++) {
var date = this.allDupedDates[i].getTime();
return time !== date
}
return day !== 6;
}