跳到主要内容

Egret引擎scrollV设置了值不会滚动到目标值

问题

如题,当前在做排行榜由于每页只有10条数据 ,所以在滑动到底部的时候我再去请求下一页数据缓存下来.并且记录当前scrollV的值.以便于 第二页数据来了后 ,list数据源重新被填充后,回到上次滑动的位置.

this.rankPanelUI.listGS.dataProvider = new eui.ArrayCollection(dsRankList);
this.rankPanelUI.listGS.itemRenderer = RankItem;
console.log("上次记录滚动的位置:" + this.historyScrollV);
this.rankPanelUI.gsScroller.viewport.scrollV = this.historyScrollV;

如上代码,不知道为什么historyScrollV 记录了上次滑动的位置.然后再这里设置,还是回到了0的位置? 有个猜想 itemRenderer 上面数据填充还没有结束? 下面设置当前滚动条的的scrollV 早了?得等itemRenderer 填充所有数据结束后?

解决方式

先看一下 this.historyScrollV 是否有,再断点看看是否赋值成功,如果怀疑是延迟的话,就延迟处理一下是否可以,或者给我们一个 Demo 我们查一下

Loading Comments...