javascript - ExtJS:将工具放到标题栏上

标签 javascript extjs

我之前已经能够将工具放入窗口标题栏中,但希望能够对面板执行相同的操作。

这是我的尝试:

panel = new Ext.Panel({
    id: 'my_panel',
    region: 'west',
    title:'MyTitle',
    iconCls:'helpIcon', 
    initComponent:function(){
        var config = {
            tools:[{
                id: 'gear',
                handler:  function(){...}
            }]
        };
        Ext.apply(this, config);
        Ext.apply(this.initialConfig, config);          
        Ext.Panel.superclass.initComponent.apply(this, arguments);
    }           
}

一些建议将不胜感激

张杰

最佳答案

之前的帖子是正确的,但我想我会解释为什么你做的是错的。

您正在完全重新定义正在创建的对象中 Ext.PanelinitComponent 方法,默认的 Ext.Panel.initComponent需要运行才能设置诸如 tools 之类的东西。

在您的代码中,当您调用 Ext.Panel.superclass.initComponent 时,您调用的是 Ext.BoxComponent.initComponent,而不是现有的 Ext.Panel .initComponent.

为了做一些特殊的initComponent事情,然后调用到Ext.Panel.initComponent,你需要创建一个Ext.Panel<的扩展:

MyPanelClass = Ext.extend(Ext.Panel, {
    id: 'my_panel',
    region: 'west',
    title:'MyTitle',
    iconCls:'helpIcon', 
    initComponent:function(){
        var config = {
            tools:[{
                id: 'gear',
                handler:  function(){...}
            }]
        };
        Ext.apply(this, config);
        Ext.apply(this.initialConfig, config);          
        MyPanelClass.superclass.initComponent.apply(this, arguments);
    }

});

然后:

var mypanel = new MyPanelClass();

关于javascript - ExtJS:将工具放到标题栏上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5428730/

相关文章:

javascript - 在extJS中动态设置组合框的multiSelect

javascript - 使用 JavaScript(如果需要,还可以使用 mootools)为我的 CSS 创建新定义。选择器问题

javascript - 多选和取消选择 Boundlist

javascript - 仪表板的Javascript库-白色标签主题

javascript - ExtJS 4.2 同名表单中的两个文本字段

Javascript 对象准备好了吗?

javascript - 在使用 browserify 和 ethereumjs-lib 时找不到模块 'secp256k1-browserify'

javascript - 使用正则表达式格式化输入

javascript - 如何开始在 Formio.js 中构建自定义组件?文档在哪里?

javascript - 指示Sencha SDK工具捆绑app.json中指定的其他js文件