Sencha Touch:呈现列表项后触发的任何事件

时间:2014-04-07 12:41:32

标签: cordova sencha-touch datalist sencha-touch-2.3

简单的问题,但我没有找到可能的解决方案:

我在Sencha Touch中有一个列表,其中包含通过itemTpl属性生成的项目。 现在我想在DOM中查看项目(在它们被渲染之后!)并替换它们的图像(使用imgCache进行图像的设备上缓存)

List的Painted事件无效,因为它在渲染Item-DOM之前被触发。

编辑: 我目前的解决方案是覆盖updateListItem的内部Ext.dataview.List方法,在那里调用原始updateListItem并添加我的附加功能。仍在寻找更好的解决方案......

1 个答案:

答案 0 :(得分:1)

列表相关商店的load事件是您正在寻找的。

[编辑]

正如您在评论中指出的那样,在实际呈现项目后,不保证会抛出load事件。

我认为您的方法是正确的,但是为什么不在重写方法结束时触发自定义事件,而不是添加您的功能,传递列表项本身,以便您可以监听该事件在名单上?

类似的东西:

updateListItem: function(item, index, info) {

    // function body ...

    me.fireEvent('listitemupdate', [item, index]);

}

这应该让你的代码更加干净和可重复使用。