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);
}