angular - 使用 ionic 2/3 面临无限滚动的问题
问题描述
在这里,我使用参数消耗动态数据,我应用了无限滚动,但下面的滚动页面上没有显示的项目是我的代码:
.html
<ion-list class="_list" *ngFor="let ifo of IData;" (click)="go(ifo.Id,ifo.Name)" >
<ion-item class="itm">
<ion-avatar item-start role="img">
<img [src]="'data:image/png;base64,'+ifo.Image" style="width: 110px;">
</ion-avatar>
<div class="item-inner">
<h2 class="_nme">{{ifo.Name}}</h2>
<p class="_price">{{ifo.Cost}}</p>
<ion-icon name="arrow-dropright"></ion-icon>
</div>
</ion-item>
</ion-list>
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll>
以下是我的 ts 代码:
getAllData(id){
const toast = this.toastCtrl.create({
message: 'Unable to get data',
duration: 2000,
position: 'bottom'
});
this.serv.Get(id).subscribe(res =>{
loading.dismiss();
this.iData = res.GetResult;
console.log(this.iData);
},err=>{
toast.present();
})
}
doInfinite(infiniteScroll) {
console.log('Begin async operation');
setTimeout(() => {
for (let i = 0; i < 10; i++) {
this.iData.push( this.iData.length );
}
console.log('Async operation has ended');
infiniteScroll.complete();
}, 500);
}
解决方案
看起来是因为您重复ion-list
而不是ion-item
. 来自文档的示例:
您应该执行以下操作:
<ion-list class="_list">
<ion-item class="itm" *ngFor="let ifo of IData" (click)="go(ifo.Id,ifo.Name)">CONTENT OF ITEM GOES HERE</ion-item>
</ion-list>
这个想法是在一个容器内重复项目。这里是文档的参考以获取更多信息。
PS:我也不确定,你有ion-content
包装元素吗,在大多数情况下我们必须包含它来强制离子的东西工作。如果您还没有,请按照屏幕截图所示包含它。
推荐阅读
- scala - 从 Spark Dataframe 的 ArrayType 列中删除 Scala 中的空列表
- r - R按组显示数据图例和趋势线
- c# - 从 WPF 控件的事件页面访问 ViewModelFactory / httpclient / apicommands
- python - 与 aws-tagger 项目的依赖冲突
- azure - 使用 Powershell CLI 获取 Azure VM 的 NSG
- ruby-on-rails - Ruby on Rails 的 Stripe API - 结帐按钮不起作用
- c - 如何在我的命令解释器中修复 execvp() 和堆栈粉碎
- python - 如何获取用户输入并打印他/她输入的每个单词的字母数?
- c# - 使用 NSwag for C# 我们如何在同一个客户端项目中为不同的 API 创建多个客户端类
- node.js - 使用 MERN 堆栈时,我应该在哪里进行聚合/计算?