gpt4 book ai didi

angular - 在 Ionic 4 中调用complete() 时无限滚动不起作用

转载 作者:行者123 更新时间:2023-12-02 14:03:19 24 4
gpt4 key购买 nike

我有来自后端的大量项目列表。当用户到达列表末尾时,我使用 ionic ion-infinite-scroll 来延迟加载数据。但当用户到达列表末尾时,我收到以下错误。

enter image description here

这是我的代码

list.component.html

<ion-content padding>
<ion-list>
<ion-item *ngFor="let i of items">{{i}}</ion-item>
</ion-list>
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content loadingSpinner="bubbles"></ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-content>

list.component.ts

export class ActionSheetComponent {

items = [];
constructor(
private actionSheetCtrl: ActionSheetController
) {
for (let i = 0; i < 30; i++) {
this.items.push(this.items.length);
}
}

doInfinite(infiniteScroll) {
console.log('Begin async operation');

setTimeout(() => {
for (let i = 0; i < 30; i++) {
this.items.push(this.items.length);
}

console.log('Async operation has ended');
infiniteScroll.complete();
}, 500);
}


}

最佳答案

从 Ionic4 开始,V4 中发出的事件类型发生了变化。在 Ionic v3 中,我们发出合成的 Angular 事件,但在 V4 中,我们发出 HTML 事件,这意味着您需要从事件目标访问完整的方法。现在处理这个问题的正确方法是使用 $event.target.methodName()

解决方案 -

 doInfinite(infiniteScroll) {

setTimeout(() => {
for (let i = 0; i < 30; i++) {
this.items.push(this.items.length);
}

infiniteScroll.target.complete(); // this is how you need to call in v4
}, 500);
}

希望这对使用 ionic v4 的每个人都有帮助!

关于angular - 在 Ionic 4 中调用complete() 时无限滚动不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55114901/

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