网格loadMask有一些问题。

LoadMask:true不起作用。

如果我选择执行以下操作:

viewConfig: {
  loadMask: {msg: 'Loading records ...'}
}


它可以工作,但是遮罩仅覆盖网格主体,不包括工具栏。

我尝试了maskElement: 'el',但是没有用。

我不打算使用setLoading()。

一种解决方案可能是我的网格的目标:

viewConfig: {
     loadMask: {msg: 'Loading records ...', target: this}
 }


但是target: this不起作用。

任何想法如何在配置目标中获取和设置网格参考?

最佳答案

您将必须重写AbstractView的createMask函数。

Ext.define('Test',{
    override:'Ext.view.AbstractView',
    privates:{
        createMask:function(mask) {
            if(this.ownerCt) {
                if(!Ext.isObject(mask)) mask = {target:this.ownerCt};
                else if(!mask.target) mask.target = this.ownerCt;
            }
            this.callParent(arguments);
        }
    }
});


Fiddle

09-25 15:56