Extjs4 ExtJS 4:为什么不';t字段是否显示在我的自定义Ext.form.Panel中?

Extjs4 ExtJS 4:为什么不';t字段是否显示在我的自定义Ext.form.Panel中?,extjs4,Extjs4,我正在定义一个扩展Ext.form.Panel的类,但在显示时没有任何字段出现(它们甚至不在DOM中)。这样定义类是否有问题 Ext.define('myapp.view.admin.EditUserFormPanel',{ 扩展:“Ext.form.Panel”, 要求:[ 'myapp.util.Logger' ], /** *构造函数,通常用于创建任何实例变量和声明 *此对象可能触发的事件(如果可以观察到)。有关详细信息 *看http://goo.gl/rXpzO * *@param{Ob

我正在定义一个扩展Ext.form.Panel的类,但在显示时没有任何字段出现(它们甚至不在DOM中)。这样定义类是否有问题

Ext.define('myapp.view.admin.EditUserFormPanel',{
扩展:“Ext.form.Panel”,
要求:[
'myapp.util.Logger'
],
/**
*构造函数,通常用于创建任何实例变量和声明
*此对象可能触发的事件(如果可以观察到)。有关详细信息
*看http://goo.gl/rXpzO
*
*@param{Object}config(可选)
*/
构造函数:函数(配置){
var me=this;//http://goo.gl/QYYZm
config=config |{};
Log.info('Created'+me.self.getName());
//调用我们要重写的方法(即父级的构造函数),
//通过JavaScript的
//标准“参数”对象。
me.callParent(参数);
//应用默认配置设置
me.initConfig(config);
me.items=[
{
键入:“textfield”,
fieldLabel:'OpenID',
名称:“openid”
},
{
键入:“textfield”,
fieldLabel:'第一',
姓名:“名字”
},
{
键入:“textfield”,
fieldLabel:'最后',
姓名:“姓氏”
},
{
键入:“textfield”,
fieldLabel:“电子邮件”,
名称:“电子邮件”
}
];
还我;
}
});

谢谢您的帮助/建议。

我认为您需要使用
xtype:“textfield”
而不是
type:textfield
查看视图(可见组件)(更详细的是:继承自Ext.Component的所有内容)。您应该使用
initComponent
而不是
构造函数来设置组件

在您的示例中,只需将单词
constructor
替换为
initComponent
,就可以了


如何在应用程序中实例化类?tabPanel.add(Ext.create('myapp.view.admin.EditUserFormPanel');谢谢你,道格!你和suknic都是对的——希望我能把这两个都标记为答案。对于遇到这一问题的其他人,我还需要接受@dougajmcdonald的建议,并从“textfield”类型切换到“xtype:“textfield”