我遇到了这个奇怪的问题,在我的 sencha touch 2.2 android phonegap 应用程序的每第三次启动时,我的所有列表项都呈现在彼此之上。只要您稍微拖动列表,它就会自行排序。
尝试了很多事情:更改列表中的所有配置,删除所有自定义 css,添加滚动功能,在列表完成渲染后向下滚动然后再次向上滚动,但无济于事。
有任何想法吗?
更新:更好的设置描述。
该列表位于导航视图内,而导航视图又位于幻灯片导航视图 (github.com/wnielson/sencha-SlideNavigation) 内。
存储在列表视图的初始化时设置。
列表定义(稍微简化):
Ext.define('Labblistan.view.LabList', {
extend: 'Ext.dataview.List',
xtype: 'lablist',
requires: [
'Labblistan.controller.SearchController',
'Ext.util.DelayedTask',
'Ext.plugin.PullRefresh',
'Ext.SegmentedButton'],
id: 'lablist',
config: {
grouped: true,
infinite: true,
useSimpleItems: true,
variableHeights: true,
plugins: [{
xclass: 'Ext.plugin.PullRefresh',
pullRefreshText: 'Dra ned för att uppdatera!',
lastUpdatedText: 'Senast uppdaterad',
loadingText: 'Förbereder uppdatering',
releaseRefreshText: 'Släpp för att uppdatera!',
refreshFn: function (plugin) {
confirmUpdate();
}
}],
itemTpl: itemtemplate, //long and kinda complicated so I didn't include it here
onItemDisclosure: true,
disableSelection: true,
indexBar: {
right: '-10px'
},
loadingText: 'Laddar',
iconmask: true,
scrollToTopOnRefresh: false,
cls: 'listan',
items: items, //Contains another toolbar with some buttons for improved sorting
listeners: {
initialize: function () {
console.log('initialize list');
var dynstore = Ext.getStore('LabListStore');
this.setStore(dynstore);
},
painted: function () {
console.log('painted list');
setTimeout(function () {
Ext.getCmp('listbar').enable();
}, 600);
Ext.Viewport.setMasked(false);
return false;
},
hide: function () {
console.log('hide list');
return false;
}
}
}
});