2012-02-15 61 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

不幸的是,這樣做並不容易。它深深地吸引到了佈局系統中,並試圖阻止它會導致一系列的遮罩問題。

如果您使用Sencha Touch 2,在您的doSearch方法中,您可以在隱藏工作表後立即遮蓋容器,因此看起來面具從未消失。

this.getParent().setMasked(true); 

而當AJAX回調完成:

Ext.Viewport.setMasked(true); 
+0

我找到了一個解決辦法:

this.getParent().setMasked(false); 

您還可以,如果你想掩蓋整個屏幕掩蓋視。您可以指定隱藏動畫,可以將其設置爲false以立即隱藏表格。在這種情況下,工作表不會屏蔽屏幕。我想這可能被稱爲一個錯誤,因爲它使屏幕無法訪問,但在我的情況下,這是一個功能。 :) 還有一個警告:隱藏方法的實現會忽略動畫,因爲它會檢查表單是否隱藏 - 它由於某種原因,即使它仍然可見 - 如果是,則跳過動畫。所以,我不得不繞過這個,像這樣: sheet.hidden = false; sheet.hide(false); 謝謝。 – alekop 2012-02-16 18:40:57