0

私はこれを試しました

    var myMask = new Ext.LoadMask({msg:"GOINGGGGGG",target:Ext.getBody(),store:Ext.getStore('Bla.core.ext.store.Client')});

    myMask.bindStore(Ext.getStore('Bla.core.ext.store.Client'));

構成にストアを追加することと、バインドストアを実行することの両方。

最終的な目標は、複数のストアが 1 つの loadmask にレポートすることですが、1 つでも機能させることはできませんか?

4

1 に答える 1

1

LoadMaskは要素ではなくコンポーネントでのみ使用する必要があります - Ext.getBody() は要素を返します。要素をマスクするにはExt.dom.Element.maskを使用する必要があります

他のオプションは、すべてのブラウザー スペースを使用するビューポートを作成し、その上で LoadMask を使用することです。ただし、複数のストアで同じマスクを使用する場合は、自分でストアをバインドする必要があります。bindStoreは最初に古いストアのバインドを解除し、次に新しいストアをバインドするためです。

ところで、バインディングは単純なことです。ストアがロードされる前にマスクを表示し、データがロードされるかリクエストが失敗した後にマスクを非表示にするリスナーをストアにインストールします。

于 2014-05-15T18:47:59.630 に答える