使用静态数据填充Extjs Combobox

Bee*_*ice 5 extjs extjs4

我的基类中有一个组合框,我只配置"fields"属性.像这样:

items: [
      comboText = Ext.create('Ext.form.ComboBox', {
                width: 150,
                padding: '0 20 0 0',
                displayField: 'label',
                store: Ext.create('Ext.data.Store', {
                    fields: [
                        {type: 'string', name: 'label'},
                        {type: 'string', name: 'fieldName'}
                    ]
                })
            }),
...]
Run Code Online (Sandbox Code Playgroud)

如何只将data属性传递给此组合?我尝试了下面的代码,但不起作用:

comboTest.store.loadData(value);
Run Code Online (Sandbox Code Playgroud)

其中value包含如下数组:

 [
    {"label":"First name", "fieldName":"firstname"},
    {"label":"Birth date", "fieldName":"birthdate"}
 ]
Run Code Online (Sandbox Code Playgroud)

没有错误,但组合框没有打开任何东西.

Lui*_*uis 10

我用这个来工作:

   xtype:'combo',
   fieldLabel:'Division',
   name:'division',
   valueField: 'division',
   queryMode:'local',
   store:['A','B','C'],
   displayField:'division',
   autoSelect:true,
   forceSelection:true
Run Code Online (Sandbox Code Playgroud)

我知道这个问题真的很老了,但万一有人来寻找一个开箱即用的答案; 对我来说就是这样.


dbr*_*rin 9

试试这个配置:

       xtype:'combo',
       fieldLabel:'Division',
       name:'division',
       queryMode:'local',
       store:['A','B','C'],
       displayField:'division',
       autoSelect:true,
       forceSelection:true
Run Code Online (Sandbox Code Playgroud)

另一个替代品列在ComboBox文档中:

    // The data store containing the list of states
    var states = Ext.create('Ext.data.Store', {
        fields: ['abbr', 'name'],
        data : [
            {"abbr":"AL", "name":"Alabama"},
            {"abbr":"AK", "name":"Alaska"},
            {"abbr":"AZ", "name":"Arizona"}
            //...
        ]
    });

    // Create the combo box, attached to the states data store
    Ext.create('Ext.form.ComboBox', {
        fieldLabel: 'Choose State',
        store: states,
        queryMode: 'local',
        displayField: 'name',
        valueField: 'abbr',
        renderTo: Ext.getBody()
    });
Run Code Online (Sandbox Code Playgroud)