Javascript 在没有存储的组合框中添加值

Javascript 在没有存储的组合框中添加值,javascript,rest,extjs,combobox,Javascript,Rest,Extjs,Combobox,我使用REST服务与服务器通信,该函数返回一个HashMap。我需要使用这个HashMap来填充组合框。我已经发出了一个ajax请求来检索该HashMap(在javascript变量中)。现在我有了这个HashMap,我需要在组合框中添加“键”作为选项 因为我的HashMap本身就像一个存储,所以有没有可能在不创建存储的情况下使用一些insert函数呢。我如何做到这一点 我想做这样的事情: for (var field in json) { combo.add(field) // Is

我使用REST服务与服务器通信,该函数返回一个HashMap。我需要使用这个HashMap来填充组合框。我已经发出了一个ajax请求来检索该HashMap(在javascript变量中)。现在我有了这个HashMap,我需要在组合框中添加“键”作为选项

因为我的HashMap本身就像一个存储,所以有没有可能在不创建存储的情况下使用一些insert函数呢。我如何做到这一点

我想做这样的事情:

for (var field in json) {
    combo.add(field) // Is there any function or a way by which I can do this
}

也许可以将其转换为Ext.data.Records数组,并添加如下内容

Ext.getCmp('COMBO_ID').getStore().add([new Ext.data.Record({
    id: 900,
    desc: 'qweqwe' // depends on your combo config
    }
)]);

// complete
var combo = Ext.create('Ext.form.ComboBox', {
    fieldLabel: 'Choose State',
    id: 'mycombo',
    queryMode: 'local',
    displayField: 'name',
    valueField: 'id',
    store: [],
    renderTo: Ext.getBody()
});
combo.getStore().add([[2, 'qweqwe']]);

我需要先在这里创建一个存储吗?只有组合定义中的空数组才能得到答案。我想这符合我的目的。只有两个问题,因为我是extjs新手。在combo.getStore()中添加这两个参数是什么?它们是关键和价值吗?第二,当我们向组合添加一些东西时,是否会自动调用Ext.getCmp?1)2)Ext.getCmp()用于按id检索cmp(如jQuery中的$(#id))