我有一个带有组合的表单,我试图找出一种将组合值传递给组合小部件的简单方法。
基本上我将数组传递给我的表单,如下所示:
var contentPanel = Ext.create('MyForm', {
countryCodesForCombo: _this.countryCodesForCombo,
});
这意味着数据来自 initComponent 方法。
Ext.define('MyForm', {
extend: 'Ext.form.Panel',
initComponent : function (){
var cCodes = this.countryCodesForCombo;
this.callParent();
},
items: [
{
fieldLabel: 'Hi',
xtype: 'combobox',
name: 'land',
displayField:'name',
store: {
fields: ['name'],
data: this.countryCodesForCombo // <--- want to get country codes somehow here
}
}
]
});
但是值无法到达项目对象。
基本上我的问题是,如何通过 initComponent 方法将值传递到items数组中?
答案 0 :(得分:2)
您的商店看起来不对劲。您必须创建商店对象。
这将有效:
Ext.define('MyForm', {
extend: 'Ext.form.Panel',
initComponent : function (){
this.store = Ext.create('Ext.data.Store', {
fields: ['name'],
data: this.countryCodesForCombo
});
Ext.apply(this, {
items: [{
fieldLabel: 'Hi',
xtype: 'combobox',
queryMode: 'local',
name: 'land',
displayField:'name',
store: this.store
}]
});
this.callParent();
},
});
的小提琴链接