[英]Sencha Touch list and scrollToRecord
我的Sencha觸摸列表很長,我拼命嘗試在啟動時將該列表滾動到中間的某個位置。
功能
btnScroll:function() {
var list = Ext.getCmp("myList");
var position = 4;
list.scrollToRecord(list.getStore().getAt(position));
}
如果我點擊按鈕,則可以工作: scrollBtn.setHandler(btnScroll);
,但不適用於
MyList.constructor:function() {
...
this.callParent();
this.btnScroll();
}
它只是失敗而沒有錯誤消息。 如果在調用函數中執行同樣的操作:
btnOpenList:function() {
var list = new MyList();
list.show();
list.btnScroll();
}
如果我使用setTimeout(this.btnScroll,70);
它有時會起作用(! setTimeout(this.btnScroll,70);
相反,但是如果我使用setTimeout(this.btnScroll,50);
或setTimeout(this.btnScroll,120);
我認為發生這種情況是因為列表元素未呈現/定位。 但是我沒有發現任何后退事件。
那么,如何定義列表應從其開始的滾動位置?
您可以在彩繪事件中做到這一點。 只需將其添加到包含綁定繪畫事件所需的所有組件的列表或容器中,然后在列表中將事件添加到btn ..或模板所需的任何內容即可。
element.clearListeners();
element.addListener('tap',function(){
//...
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.