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();