我是一个非常新的Ext JS并试图在
Panel中嵌入一个
MultiSelect.
The
viewmodel
has astores
property as you can see here:
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 } } });
I would like to bind that in my
View
like this:
viewmodel: { type: 'filter' },layout: 'fit',border: 1,plain: true,scrollable: 'y',bind: { title: '{title}',},items: { xtype: 'multiselect',scrollable: false,allowBlank: true,ddReorder: true,bind: { store: '{test}' },valueField: 'id',displayField: 'name' }
在这种情况下,存储最终为null,并且没有数据加载到窗口小部件中.如果我只是在视图中对其进行硬编码,而不是绑定商店,那么它可以工作.
有谁看到问题是什么?
解决方法
除了绑定存储之外,您还可以将空对象作为存储传递,这样initComponent将起作用,例如:
{ xtype: 'multiselect',fieldLabel: 'Multiselect',store: {},displayField: 'name' }