0

我目前正在尝试添加一个自定义按钮,当用户想要使用 EXTJS 4 添加新按钮时,该按钮将能够调用。

这是我想用来创建按钮的 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);


}

据我了解,当尝试实例化(创建)一个不存在的组件时会发生这种情况,但我看不到错误可能在哪里!我发布的代码有错误吗?

4

1 回答 1

0

xtype将您的按钮定义为一个类,通过提供属性注册它以供使用,alias并在父items容器中实例化它。是一个例子。

于 2012-06-20T12:08:51.740 回答