如何在渲染时将面板置于面板中心

mar*_*vpc 2 extjs

我有一个简单的场景,其中一个面板在加载内容时需要一个蒙面加载指示器.我使用以下代码使掩码正常工作,但第一次调用时,加载指示符出现在顶部.在显示面板后调用它,即.在按钮事件中,蒙版正确显示在面板的中央.有任何想法吗?

var pnl = new Ext.Panel({
    title: 'test',
    width: 500,
    height: 500,
    renderTo: 'controls',
    listeners: {
        render: function(comp) {
            comp.load();
        }
    },
    load: function() {
       this.el.mask('loading...', 'loadingMask');
    }
});
Run Code Online (Sandbox Code Playgroud)

mar*_*vpc 6

在完全呈现html之前,看起来掩码应用于面板.一个简单的解决方案是在应用之前不久延迟掩模.

render: function(comp) {
    setTimeout(function() { comp.loadPermissions(); }, 100);
}
Run Code Online (Sandbox Code Playgroud)