我的应用上有一个有角度的材质选择器,为此我正在使用matDatepickerFilter:
<input matInput [matDatepicker]="myDatePicker" [matDatepickerFilter]="dateFilter.bind(this)">
在dateFilter函数上,我正在根据某些条件检查日期是否可用:
dateFilter(d: Date) {
if (dateAvailable(d)) {
return true;
} else {
return false
}
}
问题在于,每个日历视图(月,年和多年)的每一天都需要调用相同的过滤器。例如:从月视图更改为多年视图,将触发过滤器8766次(每天,每年每月,每年一次)。
这需要花费大量时间和性能,因为它每天检查每年或多年视图,而仅检查年/月就足够了。但是由于matDatepickerFilter仅支持date参数,因此我无法区分当前正在过滤哪个视图(也无法找到当前视图)。
如何有效地根据视图过滤日期?
我的意思是:
谢谢!