2012-02-15 7 views
0

シートを閉じた後にAJAX呼び出しを実行しています。問題は、スライド遷移が終了したときに、Senchaがボディのマスクを解除するが、AJAXリクエストがまだ実行されている可能性があることです。どのように私はアンマスクを防ぐことができますか?Sencha:Sheet.hideの後でマスク解除を防止する

doSearch: function() { 
    this.hide(); 

    // the controller handles this and tells the store to 
    // load the data from an AJAX proxy 
    this.fireEvent('search', ...); 
} 

ありがとうございます。

答えて

0

残念なことに、これを行う簡単な方法はありません。それはレイアウトシステムに深く夢中になり、それを防ぐためにマスキングの問題が発生します。

doSearchメソッドでSencha Touch 2を使用している場合は、シートを非表示にした直後にコンテナをマスクすることができます。マスクが消えていないように見えます。

this.getParent().setMasked(true); 

そして、AJAXコールバックが終了したとき:

this.getParent().setMasked(false); 

をあなたが画面全体をマスクしたい場合は、ビューポートをマスクすることができます。

Ext.Viewport.setMasked(true); 
+0

を私は回避策を見つけました。非表示のアニメーションを指定することができます。これをfalseに設定すると、シートを即座に隠すことができます。この場合、シートは画面のマスクを解除しません。私はバグと呼ぶことができると思います。スクリーンにアクセスできないので残念ですが、私の場合はそれが特徴です。 :) hideメソッドの実装はアニメーションを無視します。これは、シートが隠されているかどうか(それは何らかの理由で表示されているにもかかわらず)、アニメーションをスキップします。だから、私はそのように、ハックする必要があった: sheet.hidden = false; sheet.hide(false); ありがとうございます。 – alekop

関連する問題