煎茶触摸列表和滚动记录



>我有一个很长的煎茶触摸列表,我拼命地试图在启动时将该列表滚动到中间的某个地方。

函数

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,50);setTimeout(this.btnScroll,120);,它永远不会起作用

我认为发生这种情况是因为列表元素未呈现/定位。但是我没有找到任何后期渲染事件。

那么,我将如何定义列表应开始的滚动位置呢?

你可以在彩绘事件中做到这一点。 只需添加到您的列表或包含绑定绘制事件所需的所有组件的容器中..然后在那里获取您的列表并将事件添加到BTN..或任何您想要的..通过模板:

element.clearListeners();
element.addListener('tap',function(){
    //...
});

最新更新