Я довольно новый Ext JS и пытаюсь вставить MultiSelect внутри Panel.Как связать Store ViewModel для просмотра?
ViewModel
имеет stores
свойство, как вы можете увидеть здесь:
Ext.define('TEST.view.controls.search.SearchFilterModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.filter',
data: {
title: ''
},
stores: {
test: {
fields: [ 'id', 'name' ],
proxy: {
type: 'ajax',
url: 'api/test',
reader: 'array'
},
autoLoad: true
}
}
});
Я хотел бы связать, что в моем View
так:
viewModel: {
type: 'filter'
},
layout: 'fit',
border: 1,
plain: true,
scrollable: 'y',
layout: 'fit',
bind: {
title: '{title}',
},
items: {
xtype: 'multiselect',
scrollable: false,
allowBlank: true,
ddReorder: true,
bind: {
store: '{test}'
},
valueField: 'id',
displayField: 'name'
}
В этом случае store
заканчивается как null
, хотя и данные не загружаются в виджет. Вместо того, чтобы связывать хранилище, хотя, если я просто жестко кодирую его в представлении, то он работает.
Кто-нибудь может понять, в чем проблема?
Почему вы решили, что магазин является нулевым? Что касается меня, то предоставленный фрагмент хорош и должен работать. Вы должны предоставить весь код представления, лучше всего будет предоставить скрипт jfiddle или sencha, чтобы продемонстрировать проблему. – yorlin
@yorlin - Спасибо, я постараюсь собрать скрипку Сенча. Ошибка была 'Uncaught TypeError: не удалось прочитать свойство 'autoCreated' of null' – david