我有一个小的座位预订应用程序。进行预约时,有色圆点将出现在角形材料日历(日期选择器)的预约日期中。问题是预订点显示在所有月份中,而不显示在预订的月份中,也就是说,如果我在9月5日预订,则该点在10月,11月和12月都可见,依此类推。那一年 。我已经开发了此代码以在日历中添加点,您能否给我一个提示/帮助,以了解如何仅在预订的月份中添加点? 非常感谢您,对我的无知表示歉意,但是我在这个领域真的很新
dateClass() {
return (date: Date): MatCalendarCellCssClasses => {
const arrDay = this.unavailableDates;
const arrDisp = this.reservDate;
let resp = 'tutte';
for (const il of arrDisp) {
if (date.getDate() === il.getDate()) {
resp = 'disponibiles';
return resp;
}
}
for (const el of arrDay) {
if (date.getDate() === el.getDate()) {
resp = 'non-disponibile';
return resp;
}
}
return resp;
};
}}
答案 0 :(得分:0)
I think you want to compare the month and the year, rather the date.
dateClass() {
return (date: Date): MatCalendarCellCssClasses => {
let resp = 'tutte';
const unavailableDate = arrDay.some(d => d.getMonth() === date.getMonth() && d.getFullYear() === date.getFullYear());
const reserveDate = arrDisp.some(d => d.getMonth() === date.getMonth() && d.getFullYear() === date.getFullYear());
return unavailableDate ? 'disponibiles' : reserveDate ? : 'non-disponibile' : resp ;
};
}