Extjs向Desktop TaskBar QuickStart添加一个按钮

时间:2016-08-08 01:00:34

标签: javascript extjs desktop taskbar

我需要在任务栏快速入门时添加一个按钮,但我不想打开模块窗口,例如一个会显示确认消息框的注销按钮,我试过这样:

    getTaskbarConfig: function () {
            var ret = this.callParent();
            me = this;
            return Ext.apply(ret, {
                quickStart: [
                    { name: 'Window', iconCls: 'icon-window', module: 'ext-win' },
                    { name: 'Logout', iconCls:'logout', handler: me.onLogout}
                ]
            });
        },
onLogout: function () {
        Ext.Msg.confirm('Logout', 'Are you sure you want to logout?');
    },

我将TaskBar.js文件的getQuickStart函数更改为:

getQuickStart: function () {
        var me = this, ret = {
            minWidth: 20,
            width: Ext.themeName === 'neptune' ? 70 : 60,
            items: [],
            enableOverflow: true
        };

        Ext.each(this.quickStart, function (item) {
            ret.items.push({
                tooltip: { text: item.name, align: 'bl-tl' },
                overflowText: item.name,
                iconCls: item.iconCls,
                module: item.module, 
                //handler: me.onQuickStartClick, **original code**
                handler: item.handler == undefined ? me.onQuickStartClick : item.handler,
                scope: me
            });
        });

        return ret;
    }

但它不起作用,有没有办法在任务栏快速入门时添加一个简单的按钮?

1 个答案:

答案 0 :(得分:0)

感谢您的回复。我已经解决了这个问题。在TaskBar.js文件中,我改变了这一行:

handler: item.handler == undefined ? me.onQuickStartClick : item.handler

这个:

handler: item.handler ? item.handler : me.onQuickStartClick

实际上,对我来说,两者都是一样的,但是出于任何奇怪的原因,代码都适用于这种变化。