带有自定义按钮的ExtJs消息框

MNR*_*MNR 18 extjs extjs3

如何使用自定义按钮显示ExtJS消息框.

我想要一个带有自定义消息的消息框以及"取消"和"取消激活"按钮.请提出一些想法.

buttons: [{
    text: "Cancel",
    handler: function () {
        Ext.MessageBox.hide();
        //submitTicketForm();
    }
},{
    text: "Deactivate",
    handler: function () {
        Ext.MessageBox.hide();
    }
}],
Run Code Online (Sandbox Code Playgroud)

我正在使用它,但没有得到任何按钮.

Tow*_*wer 16

在ExtJS 4中,您可以像这样制作自己的组件:

Ext.define('App.view.MyDialog', {
    /**
     * Shows the dialog.
     */
    show: function() {
        var dialog = Ext.create('Ext.window.MessageBox', {
            buttons: [{
                text: 'baz',
                iconCls: 'icon-add',
                handler: function() {
                    dialog.close();
                }
            }]
        });

        dialog.show({
            title: 'foo!',
            msg: '<p>bar?</p>',
            icon: Ext.MessageBox.WARNING
        });

        dialog.setHeight(160);
        dialog.setWidth(420);
    }
});
Run Code Online (Sandbox Code Playgroud)

然后:

var dialog = Ext.create('App.view.MyDialog');
dialog.show();
Run Code Online (Sandbox Code Playgroud)

  • 您定义一个类并在其中创建一个组件.为什么不扩展Messagebox? (2认同)

MMT*_*MMT 8

MessageBox是内部管理窗口的单个实例,用于提示,显示,警报等.

您可以通过传入一个字符串来更改buttonText,如下所示:

buttons: {ok: "Foo", cancel: "Bar"}
Run Code Online (Sandbox Code Playgroud)

参考: MessageBox

buttons: { 
                ok: "Foo", 
                handler: function(){ 
                    Ext.MessageBox.hide(); 

                },
                cancel: "Bar",
                handler: function(){
                    Ext.MessageBox.hide();
                }
        }
Run Code Online (Sandbox Code Playgroud)