JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.2a/resources/css/ext-all.css">
JavaScript
Ext.define('MA.reader.Language', {
extend : 'Ext.data.reader.Json',
alias: 'reader.Language',
read: function(response) {
var data = [];
for (var i in response[0])
data.push({id: i, 'name': response[0][i]});
return this.callParent([data]);
}
});
Ext.define('MA.store.Language', {
extend : 'Ext.data.Store',
fields : [ {
name : 'id'
}, {
name : 'name'
} ],
data : [ {
"aa" : "Afar",
"ab" : "Abkhazian",
"ace" : "Achinese",
"ach" : "Acoli",
"ada" : "Adangme",
"ady" : "Adyghe",
"ae" : "Avestan",
"af" : "Afrikaans",
"afa" : "Afro-Asiatic Language",
"afh" : "Afrihili",
"ain" : "Ainu",
"ak" : "Akan"
} ],
proxy: {
type: 'memory',
reader: {type: 'Language'}
}
});
var store = Ext.create('MA.store.Language', {storeId: 'Language'});
var cc = Ext.widget('combo', {
xtype : 'combo',
name : 'language',
fieldLabel : 'Language',
store : 'Language',
queryMode : 'local',
displayField : 'name',
valueField : 'id',
typeAhead : true,
forceSelection : true
});
cc.render(Ext.getBody());