У меня есть панель вкладок с несколькими вкладками. Один из них содержит сетку, а сетка содержит 3 itmes: 1 элемент с типом редактора «текстовое поле» и 2 элемента с редактором типа «combobox».ExtJS Combobox Ошибка: не удается прочитать свойство «store» undefined
Проблема: Я хочу отфильтровать хранилище combobox, основанное на предыдущем поле со списком. Но по какой-то причине он работает только в первый раз. После этого хранилище возвращается undefined.
Вот мой код:
items:[{
xtype: 'grid',
id:'schema',
border: false,
data:[],
columns:
[{
text : 'Size',
dataIndex: 'size',
id: "SizeDropdown",
width : 200,
sortable : true,
editor : {
xtype: 'combobox',
id:'SelectSize',
editable:true,
valueField: 'typeValue',
displayField: 'typeValue',
mode:'local',
lastQuery: '',
listeners:{
},
store: new Ext.data.SimpleStore({
fields: ['size', 'typeValue'],
data: [
['char', '12'],
['char', '30'],
['char', '31'],
['int', '250'],
['int', '500'],
['int', '1000'],
]
}),
allowBlank: false,
validator: function(input){
return true;
}
}
}],
listeners: {
beforeitemclick: function (eventThis, record, rowIndex, e) {
var SizeStore = Ext.getCmp('SizeDropdown').editor.store
SizeStore.clearFilter();
SizeStore.filter('size', record.data.type);
}
}
«record.data.type» возвращает «символ» или «INT», в зависимости от предыдущего выпадающего списка, фильтрация работает нормально , Но только в первый раз. После этого он ломает здесь:
var SizeStore = Ext.getCmp('SizeDropdown').editor.store
И возвращается:
Cannot read property 'store' of undefined
Я использую ExtJS "4.0.7"
Вы можете переместить магазин за пределами вашего класса. Определите это нормально. Я не думаю, что хорошая идея иметь хранилище, определенное внутри редактора. Также вы могли бы воссоздать свою проблему на fiddle.sencha.com с помощью этой помощи было бы намного проще. – pagep
@pagep спасибо, я объявил магазин вне класса, и он сработал. :) Напишите это как ответ, если хотите, и я его приму. – Nyagolova