Ext JS は初めてです。ここでは、Store を使用して ComboBox にデータを入力しようとしています。コンボボックスが表示されましたが、ドロップダウン値はありませんでした。誰かがレビューして、以下のコードの問題点を教えてください。
app.js:-
Ext.Loader.setConfig({
enabled: true
});
Ext.application({
name: 'MVCCombo',
controllers: ['Skills'],
autoCreateViewport: true
});
コントローラー(Skills.js):-
Ext.define('MVCCombo.controller.Skills', {
extend : 'Ext.app.Controller',
//define the stores
stores : ['Skills'],
//define the models
models : ['Skill'],
//define the views
views : ['combo.Skill'],
init: function() {
alert("Controller Invoked");
}
});
ストア(Skills.js):-
Ext.define('MVCCombo.store.Skills', {
extend:'Ext.data.Store',
model:'MVCCombo.model.Skill',
data: [{
"id": "1",
"name": "Java"
}, {
"id": "2",
"name": "J2EE"
}, {
"id": "3",
"name": "Ext JS"
}
]
});
モデル:(Skill.js):-
Ext.define('MVCCombo.model.Skill', {
extend: 'Ext.data.Model',
fields: [{name:'id', type:'string'},{name:'name', type:'string'}]
});
View(ViewPort.js):-
Ext.define('MVCCombo.view.Viewport', {
extend: 'Ext.Viewport',
layout: 'fit',
requires: [
'MVCCombo.view.combo.Skill'
],
initComponent: function() {
var me = this;
Ext.apply(me, {
items: [
{
xtype: 'cmbBox'
}
]
});
me.callParent(arguments);
}
});
View(Skill.js):-
Ext.define('MVCCombo.view.combo.Skill' ,{
extend: 'Ext.form.ComboBox',
alias : 'widget.cmbBox',
allowBlank: false,
queryMode: 'local',
valueField: 'id',
displayField: 'name',
store: 'Skills'
});