Ext.MessageBox

来源:互联网 发布:mac怎么装搜狗输入法 编辑:程序博客网 时间:2024/05/17 06:43

 Ext.MessageBox是一个用于产生不同风格提示框的实体类。另一种写法是EXT.Msg.

之一Ext.MessageBox是异步的,这一点不同于传统浏览器的alert提示,显示一个Ext.MessageBox并不会停止代码的运行。因此,当你有代码要等到得到用户的反馈后再运行的话,你就必须使用回调函数。

 

公用属性


CANCEL              设置显示取消按钮

ERROR               显示一个错误提片

INFO                  显示提示信息图片

OK                      显示一个OK按钮

OKCANCEL        设置显示两个按钮:确定和取消

QUESTION        显示提示信息图片

WARNING         显示提示警告图片

YESNO              设置显示两个按钮:YES和NO

YESNOCANCEL 设置显示三个按钮:YES和NO,CANCEL

buttonText        设置button的文字

defaultTextHeight  如果设置了显示成多行提示框的话,这个提示框的默认高度

maxWidth         提示框的最大宽度,默认 600

minWidth         提示框的最小宽度,默认100。个人测试 最小大于maxwidth时候是以小的为准

minProgressWidth

 

方法

 

alert( String title, String msg, [Function fn], [Object scope] )

显示一个标准只读的带有一个确定按钮的提示框。如果有回调函数的话,那么回调函数将会在用户操作按钮后响应。并且点击的按钮id可以作为唯一参数传递到回调函数

参数

title      显示的标题

msg     提示的文本

fn        回调的函数(可选)

scope  回调函数的范围

返回一个Ext.MessageBox对象

 

confirm 显示一个带有是和否按钮的confirm框。其他的属性和描述同上

 

getDialog() 返回一个相关的 Ext.Window element 对象的引用

 

hide()   隐藏显示的提示框

 

isVisible()  如果该提示框显示的话返回true ,返回参数boolean

 

progress( String title, String msg, [String progressText] )  显示一个带有进度条的提示框

其属性progressText表示初始现在在进度条上的文字

 

Js代码
eg:  
 
Ext.onReady(function(){  
 
Ext.get('mb1').on('click', function(e){  
        Ext.MessageBox.progress(progress eg, 'this the message ', 'this text in bar while initializing the box ');  
//如果下面的代码没有,进度条不会变化  
 
        var f = function(v){  
            return function(){  
                if(v == 12){  
                    Ext.MessageBox.hide();//在v=12时候关闭box  
                }else{  
                    var i = v/11;  
                    Ext.MessageBox.updateProgress(i, Math.round(100*i)+'% completed');//改变进度条的文字  
                }  
           };  
       };  
       for(var i = 1; i < 13; i++){  
           setTimeout(f(i), i*500);  
       }//一段时间调用这个函数  
    });  
 
 
 

eg:

Ext.onReady(function(){

Ext.get('mb1').on('click', function(e){
        Ext.MessageBox.progress(progress eg, 'this the message ', 'this text in bar while initializing the box ');
//如果下面的代码没有,进度条不会变化

        var f = function(v){
            return function(){
                if(v == 12){
                    Ext.MessageBox.hide();//在v=12时候关闭box
                }else{
                    var i = v/11;
                    Ext.MessageBox.updateProgress(i, Math.round(100*i)+'% completed');//改变进度条的文字
                }
           };
       };
       for(var i = 1; i < 13; i++){
           setTimeout(f(i), i*500);
       }//一段时间调用这个函数
    });

 

}

 

prompt( String title, String msg, [Function fn], [Object scope], [Boolean/Number multiline], [String value] )

 基本属性于alert相同,但是在有回调函数的时候,他是传两个参数。一个点击按钮的id一个是填写的文本

 

setIcon

设置提示框上显示的照片。可以有以下

Ext.MessageBox.INFO
Ext.MessageBox.WARNING
Ext.MessageBox.QUESTION
Ext.MessageBox.ERROR

 

wait( String msg, [String title], [Object config] )

显示一个具有永不停止自动变化的进度条提示框。只要是当用户有一个长时间操作时候屏蔽操作。最后你要关闭这个提示。

 

show( Object config ) 

显示一新提示框或者重新激活一个已有的提示框。这个防疫是以一个config对象为参数的。

 animEl  当提示框激活或者关闭时候绑定的一个element或者id

buttons  一个具体的button属性(见上面的属性)或者是false来不显示任何的按钮

closable 值是true或者false 。false代表不显示关闭按钮

cls  css中的一个样式类

fn  回调函数  如果是prograss或者wait型的提示框将会忽略这个属性

progres  是不是要显示进度条  true、false

progressText  入过progress=true的话,显示在进度条上的文本

wait  是不是像是进度条

multiline: true下面显示一个多行文本框 false不显示文本框

 

progress设置为true时候,并不会显示会演进的进度条,一般需要一个函数每个多少秒进行调用。并在结束时候用Ext.Messagebox.hide()来隐藏