У меня есть поле со списком в виде, которое связано с хранилищем данных / моделью, которая использует Ext.Direct для загрузки данных для выпадающего списка.
В моем контроллере, где я открываю представление, содержащее выпадающий список, я запускаю загрузку магазина.
Это все работает, но когда я нажимаю на выпадающий список, он запускает другую загрузку (маскирует экран при загрузке) и перезагружает магазин. Мне нужно предотвратить эту вторую загрузку, так как она уже загружается.
Магазин:
Ext.define('ESDB.store.Employees', {
extend: 'Ext.data.Store',
model: 'ESDB.model.Employee',
autoLoad:false,
proxy: {
type: 'direct',
api: {
create : undefined,
read : EmployeeService.getRecords,
update : EmployeeService.setRecord,
destroy : undefined
}
}
});
Модель:
Ext.define('ESDB.model.Employee', {
extend: 'Ext.data.Model',
fields: ['id','name','login','pw','domain','lastLogin','addedDate','active','ulevel','staffID']
});
Вид:
(соответствующая часть - поле со списком - в представлении нет других ссылок на магазин или модель)
this.items = [
{
xtype: 'form',
items: [
{
xtype: 'combobox',
name : 'callTakenBy',
fieldLabel: 'Taken By',
displayField: 'name',
queryMode: 'remote',
valueField: 'id',
store: "Employees",
editable: false
}
]]}
Контроллер (когда они дважды щелкают строку в сетке, он загружает хранилище сотрудников, а затем открывает представление):
encounterRowClicked: function(grid, record) {
console.log('Double clicked on ' + record.get('id'));
var store = this.getEmployeesStore();
store.load({
params: {
},
callback: function(r,options,success) { } //callback
}); //store.load
// load the view:
var view = Ext.widget('encounteredit');
view.down('form').loadRecord(record);
}
Весь этот код работает, но когда я попадаю в представление, где в выпадающем списке правильно отображается одно из загруженных значений, я нажимаю на выпадающий список, и он запускает другую загрузку магазина. Это работает, но затем я должен нажать еще раз, чтобы фактически выбрать другое значение. Поэтому я ищу способ сообщить списку задач просто использовать хранилище, а не загружать его - похоже, он уже должен знать, что он загружен, и просто использовать его?