Extjs 4.2 loadMask在调用函数之后显示,而不是之前

mrwjdhj3  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(68)

在onGridPanelCellClick事件中,我在调用fillDisplayStore()函数之前创建了一个要显示的loadMask,但直到函数完成后才显示该掩码。我错过了什么?

var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
    myMask.show();

fillDisplayStore(store, loadedStore);

我尝试使用Chrome调试器在函数调用之前放置一个断点,它在函数调用之前显示掩码,但在真实的时间中,它直到函数调用之后才显示。我需要一个loadMask的原因是因为调用的函数需要大约10秒才能完成。谢谢你的帮助。

v6ylcynt

v6ylcynt1#

你可以利用setbacklist函数在继续你的函数之前允许加载掩码的渲染。比如说,

grid.on('cellclick', function () {
            var myMask = new Ext.LoadMask(Ext.getBody(), {
                msg: "Please wait..."
            });
            myMask.show();
            setTimeout(function () {
                // your function here
                console.log('Data loading for record: ' + record.get('name'));
                myMask.hide();
            }, 2000); 
 })

相关问题