EXTJS 3.0使用store填充组合框(typeError b [e]不是构造函数)

时间:2014-02-19 23:13:01

标签: javascript extjs combobox

我正在使用EXTJS 3.0我一直在撞墙,试图弄清楚这个错误究竟是什么意思以及为什么我继续接收它

typeError b [e]不是构造函数

我正在尝试从商店填充组合框。不幸的是,代码在一个系统上,我不能将代码复制到这个网站,但我正在实现从网站提供的最基本的例子

 // 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',
applyTo: Ext.getBody()
});

我知道这并没有提供太多信息,但如果你能指出我可能导致这个错误的某些方向,我将不胜感激!

1 个答案:

答案 0 :(得分:1)

types[config.xtype || defaultType] is not a constructor (b[d.xtype || e] is not a constructor)

尝试实例化(创建)不存在的组件时会发生这种情况,最常见的原因是拼写错误或拼写错误。

我尝试过同样的事情。唯一的例外是我创建了一个表单然后包含了组合框。它工作正常。

Ext.create('Ext.form.Panel',{
    title:'Sample form',
    layout:'fit',
    renderTo:document.body,
    items:[{
        xtype:'combobox',
        store: states,
        fieldLabel: 'Choose State',
        queryMode: 'local',
        displayField: 'name',
        valueField: 'abbr'
    }]
});

商店保持不变:

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