Я хочу, чтобы выполнить операцию выбора на Списокпосле того, как данные были загружены, потому что на основе данных, которые я получил, я должен выбрать одну ячейку в этом списке, а также необходимо обновить базу данных подробностей.Добавить OnLoad Слушатель в Сенча Список сенсорный
Ext.define('WaxiApp.view.ProductViews.ProductList', {
extend: 'Ext.Container',
alias: "widget.ProductList",
requires: [
'Ext.Img',
],
config: {
layout: Ext.os.deviceType == 'Phone' ? 'fit' : {
type: 'hbox',
pack:'strech'
},
cls: 'product-list',
items: [{
xtype: 'list',
id:'product-list-view',
width: '100%',
height:'100%',
store: 'ProductsList',
infinite: true,
plugins: 'sortablelist',
itemCls: 'productList',
itemId:"product-item",
itemTpl: new Ext.XTemplate(
'<div class="list-content-div ',
'<tpl if="this.needSortable(isNeedInventry)">',
Ext.baseCSSPrefix + 'list-sortablehandle',
'</tpl>',
'">',
'<b>{UpcCode} {Name}</b>',
'<tpl if="isActive">',
'</div>',
'</tpl>',
{
// XTemplate configuration:
compiled: true,
// member functions:
needSortable: function (isneedInventry) {
return !isneedInventry;
},
}),
masked: { xtype: 'loadmask',message: 'loading' },
onLoad: function (store) {
this.unmask();
console.log('list loaded');
this.fireEvent("productListLoadedCommand", this,store);
},
}
],
listeners: [
{
delegate: "#product-list-view",
event: "itemtap",
fn: function (list, index, target, record) {
console.log(index);
console.log('list selection command fired');
this.fireEvent("productListSelectedCommand", this,index,record);
}
}
],
style: 'background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, #FDFDFD), color-stop(1, #DBDBDB));background-image: linear-gradient(to bottom right, #FDFDFD 0%, #DBDBDB 100%);'
}//End of config
});//End of Define
Над этим фактическим видом я использовал для отображения списка. Моя проблема в том, что я попытался использовать метод onLoad
(), но я хочу сделать все в моем контроллере, чтобы сделать его более понятным.
Как вы видели, мое событие itemTap
было обработано в Контроллере, активировав событие. Но то же самое не работает для события load
.
Предложение Каус ур метод может работать, но проблема. с таким подходом, когда представление уничтожается и воссоздание контроллера не будет обрабатывать события itemtap, назначенные через контроллер. также я нашел способ использовать ** метод onLoad() для компонента ** для достижения моей задачи. – CoolMonster