在日历中突出显示日期

时间:2018-09-26 05:57:39

标签: angular typescript calendar angular-material angular5

我正在使用Angular材质日历(即 mat-calendar )。我试图突出显示日历中的某些日期。但是我看不到任何文档。谁能帮助我。

HTML

<mat-card>
<mat-calendar name="appoinment_date" [selected]="selectedDate (selectedChange)="onSelect($event)"></mat-calendar>
</mat-card>

TS

  onSelect(event){
    this.selectedDate= event;
  }

我得到的东西 //只能选择日期 My output

我想要的是 //应该能够突出显示日期

enter image description here

2 个答案:

答案 0 :(得分:1)

现在是2019年。适用于仍在寻找答案的任何人

<mat-calendar  [dateClass]="dateClass()" 
(selectedChange)="getDayRequestsList($event)"> </mat-calendar>


dateClass() {    
return (date: Date): MatCalendarCellCssClasses => {
  const highlightDate = this.datesToMark // array of dates
    .map(strDate => new Date(strDate)) // wrap with new Date if not in 
    date object
    .some(d => d.getDate() === date.getDate() && d.getMonth() === 
    date.getMonth() && d.getFullYear() === date.getFullYear());
  console.log(highlightDate);

  const highlightCurrentDate = this.upcomingCalendarEvents
  .map(strDate => new Date(+strDate.date))
  .some(d => d.getDate() === date.getDate() && currentDate.getDate() === 
    d.getDate() && d.getMonth() === date.getMonth() && d.getFullYear() === 
date.getFullYear());
console.log(highlightDate);
  if(highlightCurrentDate) {
    return 'highlight-current-date-class'
  } else if(highlightDate) {
    return 'highlight-date-class'
  } else {
    return ''
  }


};

}

答案 1 :(得分:0)

Event calendar in Angular Material Design

我认为这就是您想要的。您可以突出显示日期,但不能显示事件。我也在寻找替代品。