【发布时间】:2018-07-17 18:14:14
【问题描述】:
我有一个包含大数据的列表。
为了使滚动不滞后,我使用了虚拟滚动,如下所示:
<ion-list [virtualScroll]="sections">
<div *virtualItem="let section" class="section" [attr.id]="section.chapterNum">
<h4 *ngIf="section.Chapter !=''">{{section.Chapter}}</h4>
<h5 [ngClass]="section.Section_Title">{{section.Section_Title}}</h5>
<div [innerHTML]="section.Section_Body | sanitizeHtml"></div>
</div>
</ion-list>
我还需要跳转到列表的特定部分,我是这样做的(在应用虚拟滚动之前):
GoToSection(chapter: number, section: string) {
this.menuCtrl.close();
var el = document.getElementsByClassName(section);
let yOffset;
for (var i = 0; i < el.length; i++) {
if (+el[i].parentElement.id == chapter) {
yOffset = (el[i] as HTMLElement).offsetTop;
}
}
setTimeout(() => {
this.content.scrollTo(0, yOffset, 0)
}, 300);
}
但是,当我尝试使用此方法时,它会显示一个空白屏幕,因为它还没有渲染滚动的元素并且找不到它。
使用 Virtual Scroll 滚动到元素是否有不同的方法?
如果没有,是否有虚拟卷轴的替代选项? (无限滚动不是一个选项)
【问题讨论】:
标签: angular ionic-framework ionic2 ionic3