Не в этом сомневаюсь, с чего начать.sencha touch carousel не снимает все позиции
У меня есть карусель, которую я нагрузить, когда срабатывает событие обновления экрана на моем бэк-магазине:
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 - эта строка просто устанавливает html для панели, содержащейся в элементе rdcp. Для этого он использует поле «имя» из текущей записи. – jb44
не уверен, что ошибка действительно здесь. Можете ли вы отправить скрипку, чтобы я мог помочь? https://fiddle.sencha.com –