ExtJS组件MessageBox的用法及理解

    Ext.create('Ext.window.MessageBox',{}); 
    //等价于
    new Ext.window.MessageBox();


    var a = new Ext.window.MessageBox();
    //等价于
    var a = Ext.Msg;
    //等价于
    var a = Ext.MessageBox;


    //Ext.Msg 和 Ext.MessageBox 是 Ext.window.MessageBox 的实例

 show方法跟在实例后面链式调用:

调用方法(亦可链式调用):

        var a = new Ext.window.MessageBox();
        a.show();

        var a = Ext.create('Ext.window.MessageBox',{});
        a.show();

        var a = Ext.Msg;
        a.show();

        var a = Ext.MessageBox;
        a.show();

在这里介绍一下show(obeject config)函数:

根据传入的config对象,展示一个新的message box,或者重新初始化一个已存在的message box。

所有的MessageBox显示函数(eg:prompt,alert,etc.)都会在内部调用show函数,不过这些调用只是快捷调用,

并且不支持下方的配置选项:

Ext.Msg.show({
    title: 'Address',
    message: 'Please enter your address:',
     300,
    buttons: Ext.Msg.OKCANCEL,
    multiline: true,
    fn: saveAddress,
    animateTarget: 'addAddressBtn',
    icon: Ext.window.MessageBox.INFO
});

如上所示,show方法支持配置对象,使用者可以根据需求传入配置对象。

而Ext.Msg.alert和Ext.Msg.prompt却都是相对固定的用法:

Ext.Msg.alert('Status', 'Changes saved successfully.');


Ext.Msg.prompt('Name', 'Please enter your name:', function(btn, text){
    if (btn == 'ok'){
        // process text value and close...
    }
});

注意事项:

1.注意区分MessageBox和window,有时候使用者会想在MessageBox中放一个Panel,但是MessageBox并妹有这个功能。所以害是老老实实用window。

2.单实例问题

        // new Ext.window.MessageBox({
        //     resizable:true
        // }).show();

        // new Ext.window.MessageBox({
        //     resizable:true
        // }).show();


        //单实例,只会有一个messagebox
        Ext.Msg.show();

        Ext.Msg.show();
原文地址:https://www.cnblogs.com/oy-lee/p/11383561.html