Javascript ExtJS-组合框中记录的未定义索引

Javascript ExtJS-组合框中记录的未定义索引,javascript,extjs,Javascript,Extjs,以下代码描述了该问题: var store = Ext.create('Ext.data.Store', { fields: ['Name'], data: [ { Name: 'Java' },

以下代码描述了该问题:

var store = Ext.create('Ext.data.Store', {
                      fields: ['Name'],
                      data: [                        
                       {
                          Name: 'Java'
                       },
                       {
                          Name: 'C'
                       },
                       {
                          Name: 'Android'
                       }
                      ]
                     });
    store.insert(0, [Ext.create(store.model, {
           Name: ''
        })]);

    Ext.create('widget.combobox', {
            renderTo: Ext.getBody(),
            margin: '10',
            width: 500,
            store: store,
            displayField: 'Name',
            valueField: 'Name',
            queryMode: 'local'
            listeners: {
                 beforeselect: function (cbo, rec, idx) {                                                                                    
                      console.log(idx);               
                 }
            }
          });

使用“insert”方法插入存储的新数据在combobox中没有索引。每次单击空白记录时,我都会看到IDX的日志是“未定义的”。我的期望值是“0”。如何修复此问题?

很好,这很可能是Ext中的一个错误。在
loadData
loadRawData
函数中设置了(未记录的)记录索引,并且不会使用插入的记录进行更新

不要依赖这个错误的实现,使用计算出的存储索引来解决它:

beforeselect: function (cbo, rec) {
    var idx = cbo.getStore().indexOf(rec);
    console.log(idx);
}