Extjs 添加一个按钮到桌面任务栏 QuickStart

Extjs add a button to Desktop TaskBar QuickStart

我需要在任务栏快速启动中添加一个按钮,但我不想打开模块 window,例如将显示确认消息框的注销按钮,我试过这样:

    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;
    }

但是不行,有没有办法在任务栏快速启动中添加一个简单的按钮?

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

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

对于这个:

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

实际上,对我来说,两者都做同样的事情,但出于任何奇怪的原因,代码适用于该更改。