1
不知道從哪裏開始尋找。sencha觸摸旋轉木馬不會刪除所有項目
我有我打開一個旋轉木馬時,我的後備存儲的刷新事件觸發:
Ext.define('Rb.store.Items', {
extend: 'Ext.data.Store',
requires: ['Rb.model.Item', 'Ext.data.proxy.Rest'],
config: {
storeId: 'itemstore',
model: 'Rb.model.Item',
proxy: {
type: 'rest',
url: '',
reader: {
type: 'json',
rootProperty: 'items'
}
},
autoLoad: false,
listeners:{
refresh: function(me, data, eOpts){
console.log("refresh");
var carousel = Ext.ComponentQuery.query('rbdetailcarousel')[0];
carousel.removeAll(true);
console.log(carousel.getItems().getCount());
data.each(function(rec){
console.log(rec.data);
var rdcp = Ext.create('Rb.view.RbDetailCarouselPanel',{
cur_item: rec.data,
style: 'background-image:url(resources/startup/320x460.jpg);background-repeat:no-repeat;',
});
rdcp.items.get(1).setHtml(rec.data.name);
carousel.setActiveItem(rdcp);
});
carousel.setActiveItem(0);
}
}
}
});
我的旋轉木馬是超級簡單:
Ext.define('Rb.view.RbDetailCarousel', {
extend: 'Ext.Carousel',
xtype: 'rbdetailcarousel',
config: {
itemId: 'rbdetailcarousel',
}
});
但是也有一些在這裏發生的兩件事情,是奇怪的:
當我打電話給carousel.getItems()。getCount()後,右後車ousel.removeAll(true),我總是得到1的返回值。如果我檢查旋轉木馬,旋轉木馬中還剩下一件物品(它看起來就像是指示器??)。
當我重裝店面,它清除了所有的項目除了第一個,讓我刷新越來越多,我得到的第一個項目的重複,那麼其餘的項目添加到末尾。看起來好像removeAll(true)沒有刪除第一個項目。
任何想法,我可以看看解決這個問題?我懷疑我沒有正確地抓住轉盤的引用,因爲我不應該將指示器作爲其中的一個項目取回,對吧?
感謝
這條線是什麼意思? 'rdcp.items.get(1).setHtml(rec.data.name);' –
@ThiemNguyen - 該行只是爲rdcp元素中包含的面板設置html。它使用當前記錄中的「名稱」字段來執行此操作。 – jb44
確定錯誤確實在這裏。你可以請張小提琴,以便我可以幫忙嗎? https://fiddle.sencha.com –