如何检查日期选择器角度材料上的月份

时间:2020-09-03 08:10:26

标签: javascript angular typescript datepicker angular8

我有一个小的座位预订应用程序。进行预约时,有色圆点将出现在角形材料日历(日期选择器)的预约日期中。问题是预订点显示在所有月份中,而不显示在预订的月份中,也就是说,如果我在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;
  };

}}

1 个答案:

答案 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 ;
  };
}