Extjs 蒙板效果实现

Extjs 蒙板效果实现

在以下情况可能会用的蒙板效果:

1、在数据提交时,我们一般是不希望用户再去执行其他的操作

2、在数据加载时,提示用户正在加载

3、在处理复杂操作时,提交响应速度有点慢(超过1秒时),需要给客户提示系统正在处理,避免认为死机,反复操作

下面分别对Grid,Form,Ext.Ajax自定义蒙板三种方式介绍实现方式:

如果速度太快,还是有可能看不到效果的

1、grid加载数据时,显示“数据正在加载中….”的提示

Extjs 蒙板效果实现
var grid = new Ext.grid.GridPanel(

    store: store,

    renderTo: 'Grid',

    sm: sm,

    tbar: toolbar,

    loadMask: true,  //grid加载数据,蒙版通过loadMask设置

    title: '选项列表',

    height: 470,

    viewConfig:

    {

        forceFit: true

    },  

//……

2、form提交时,出现“数据保存中……”的提示

Extjs 蒙板效果实现
form.submit(

    url : Vars.TRUrl,

    waitMsg : '数据保存中...',  //form表单蒙版通过waitMsg设置

    params :

    {

       sign : 'ItemResultNewOrEdit',

       newOrEdit : newOrEdit

    },

    success : function(form, action)

    {

       if(action.result.success)

       {

           Vars.Grid.store.reload();

       }

       else

       {

           Ext.Msg.alert('提交失败', action.result.message);

       }

       btnCommit.enable();

       win.win.hide();

    },

    failure : function(form, action)

    {

       GS.Msg.Error(null, '提交失败,系统发生异常,异常类别为:' + action.failureType);

       btnCommit.enable();

    }

});

3、使用Extjs.Ajax方法异步请求

思路:借助Extjs.LoadMask对象实现自定义蒙版效果

Extjs 蒙板效果实现
var waitMask = new Ext.LoadMask(Ext.getBody(), { msg: "系统正在处理数据,请稍候..." });  //定义一个

waitMask.show();//show方法显示

btnGenerate.disable();

Ext.Ajax.request(

    method: 'POST',

    url: Vars.Url,

    success: function(response) {

        //转成对象

        var obj = Ext.decode(response.responseText);

        if (obj.success) {

            Twi.Msg.Info(null, "原始记录单生成成功!");

        }

        else {

            Twi.Msg.Info('操作失败', obj.message);

        }

        btnGenerate.enable();

        waitMask.hide();  //hide()方法隐藏

    },

    failure: function(response, action) {

        Twi.Msg.Error(null, '提交失败,系统发生异常,异常类别为:' + action.failureType);

        btnGenerate.enable();

        waitMask.hide();//隐藏

    },

    params:

    {

        sign: 'GenerateOriginalList',

        MgscType: Vars.MgscType,

        TaskID: Vars.TaskID,

        TestItemID: Vars.TestItemID

    }

});

你可能感兴趣的:(ExtJs,效果实现,蒙板)