Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS4:如何向任何自定义表单添加按钮_Javascript_Extjs - Fatal编程技术网

Javascript ExtJS4:如何向任何自定义表单添加按钮

Javascript ExtJS4:如何向任何自定义表单添加按钮,javascript,extjs,Javascript,Extjs,我目前正在尝试添加一个自定义按钮,当用户想要使用ExtJS4添加一个新按钮时,可以调用该按钮 下面是我想用来创建按钮的TimeButton.js文件 Ext.namespace("Ext.controls"); Ext.create('Ext.Button', { text: 'Time', renderTo: Ext.getBody(), handler: function() { alert('The current time is '+Date()) } }); Ext.reg

我目前正在尝试添加一个自定义按钮,当用户想要使用ExtJS4添加一个新按钮时,可以调用该按钮

下面是我想用来创建按钮的TimeButton.js文件

Ext.namespace("Ext.controls");

Ext.create('Ext.Button', {
text: 'Time',
renderTo: Ext.getBody(),
handler: function() {
    alert('The current time is '+Date())
}
});

Ext.reg('timebutton', Ext.controls.TimeButton);
但当我尝试将其添加到任何表单时,我都会得到以下错误

types[config.xtype || defaultType] is not a constructor
还是像这样做会更好

Ext.controls.TimeButton = Ext.extend(Ext.Panel,  {

initComponent: function(){


    Ext.apply(this, {                     
            frame: true
            ,height: 330    
            ,layout: 'border'
            ,layout: 'column'
            ,split: true
            ,cls: 'DocumentWindow'
            ,items: []

    }); 

    this.documentGrid = new Ext.controls.DocumentGrid({height: 220,
                agentId : this.agentId,
                columnWidth: 0.5})

    Ext.controls.DocumentPanel.superclass.initComponent.apply(this, arguments);


}

据我所知,当试图实例化(创建)一个不存在的组件时,会发生这种情况,但我不知道错误可能在哪里!我发布的代码中是否有错误?

将您的按钮定义为类,通过提供
别名
属性将其注册为与
xtype
一起使用,并在父
容器中实例化它。这就是一个例子。

必须这样做。这个例子对你有用吗?您是否已删除旧代码并替换为新代码?