我需要在MAT日历中标记有任何任务的日期,但我找不到为什么这个代码不起作用.
小牛队来了
dateClass(): any {
return (date: Date): MatCalendarCellCssClasses => {
const findDate = this.tasks.find((task) =>
moment(task.date_required.toDate()).isSame(moment(date), 'day')
);
if (findDate !== undefined) {
console.log(findDate)
return 'date-with-task';
} else {
return;
}
};
}
这些是组件导入
import {
ChangeDetectorRef,
Component,
EventEmitter,
HostListener,
Input,
OnChanges,
OnInit,
Output,
SimpleChanges,
ViewEncapsulation,
} from '@angular/core';
变量TASKS是来自父组件的输入
@Input() tasks: any[];
这是我使用垫子日历的html
<div class="calendar-container" [ngStyle]="{'display': !showingCalendar ? 'none' : ''}">
<mat-calendar class="calendar-tasks" [dateClass]="dateClass()" [(selected)]="selectedDay"
(selectedChange)='selectedChange($event)' (monthSelected)='monthSelected($event)' [startAt]='currentMonth'>
</mat-calendar>
<div class="border-bottom"></div>
</div>
另外,我用SCSS制作了这个类,这样我就可以看看它的代码是否能正常工作
.date-with-task{
border-color: red;
}
我读了所有我能找到的论坛,也看了一些关于垫子日历的YT视频,但我找不到答案.如果有人能帮助我,我将不胜感激:)
我需要找出任务标为红色的日子,但什么也没发生