我正在构建一个垂直滚动的日历。我正在加载最初的日子,但是当新的日子被添加到列表中时,它们不会被渲染。
<cdk-virtual-scroll-viewport
class="demo-viewport"
[itemSize]="100"
(onContentScrolled)="handleScrollChange($event)"
>
<calendar-day
*cdkVirtualFor="let day of days; trackBy: trackByFn"
[day]="day"
></calendar-day>
</cdk-virtual-scroll-viewport>
<button (click)="goToToday()">go</button>
我有一项BehaviorSubject
更新日期的服务。我知道日期列表正在更新,但似乎没有检测到更改。
ngOnInit() {
this._daysService.days$.subscribe(days => {
this.days = days;
})
this.watchScroll();
this.handleScrollingUp();
this.handleScrollingDown();
}
有关更多信息,StackBlitz 存储库是公开的https://stackblitz.com/edit/material-infinite-calendar