gpt4 book ai didi

javascript - 如何使用 CdkScrollable 检测 Angular Material 2 自动完成列表上的滚动事件

转载 作者:行者123 更新时间:2023-12-03 06:51:08 24 4
gpt4 key购买 nike

我正在尝试使用 cdkScrollableScrollEventmat-autocomplete .

我已经实现了如下代码片段。

<mat-form-field>
<input matInput placeholder="Notebook Page" formControlName="notebookPage" [matAutocomplete]="NBPageAutocomplete" >
</mat-form-field>
<mat-autocomplete #NBPageAutocomplete="matAutocomplete" cdkScrollable >
<mat-option *ngFor="let option of suggestedNBPageNames" [value]="option">
{{ option }}
</mat-option>
</mat-autocomplete>



constructor(public scroll: ScrollDispatcher) {}
ngAfterViewInit() {
this.scroll.scrolled().subscribe((data: CdkScrollable) => {
console.log(data);
//make an HTTP call when it reaches to the end, to add some more data
});
}


订阅 this.scroll.scrolled() 后事件未触发.

过去几天我一直在研究这个问题,没有在网上找到任何相关信息。

请帮我。

最佳答案

如 Angular Material 库中所述,为了避免滚动事件的连续变化检测,默认情况下,发出的“滚动”事件将在 Angular 区域之外运行。要使更改检测起作用,请添加 ngZone.run,如下所示。请根据需要修改 ngZone.run 中的回调。

constructor(public scroll: ScrollDispatcher, private ngZone: NgZone) {}
ngAfterViewInit() {
this.scroll.scrolled().subscribe((data: CdkScrollable) => {
console.log(data);
//make an HTTP call when it reaches to the end, to add some more data
});
ngZone.run(() => {
console.log('to run change detection');
})
}

关于javascript - 如何使用 CdkScrollable 检测 Angular Material 2 自动完成列表上的滚动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51332381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com