简单的问题,但我还没有找到可能的解决方案:
我在煎茶触摸中有一个列表,其中包含通过itemTpl
属性生成的项目。现在我想在 DOM 中浏览项目(渲染后!)并替换它们的图像(使用 imgCache 在设备上缓存图像)
列表的Painted
事件没有帮助,因为它是在呈现 Item-DOM 之前触发的。
编辑:我当前的解决方案是覆盖Ext.dataview.List
的内部updateListItem
方法,在那里调用原始updateListItem
并在那里添加我的附加功能。仍在寻找更好的解决方案...
您正在寻找与商店关联的load
事件的列表。
[编辑]
正如您在注释中指出的那样,不能保证在项目实际呈现后抛出load
事件。
是正确的,但是您为什么不在重写方法的末尾触发自定义事件,传递列表项本身,以便您可以在列表中侦听该事件,而不是就地添加您的功能?
像这样:
updateListItem: function(item, index, info) {
// function body ...
me.fireEvent('listitemupdate', [item, index]);
}
这应该使您的代码更加干净和可重用。