2012-03-04 8 views
2

これはちょっとした問題です。長時間処理しているボタンハンドラからsetMaskedを呼び出すと、ハンドラ関数が終了するとマスクがレンダリングされます。ボタンハンドラから呼び出されたsencha touch-setMaskedは、ハンドラが終了するまでレンダリングされません。

ハンドラー内にマスクを強制的にペイントする方法はありますか?

Ext.define('ts.view.chartIt', { 
extend: 'Ext.Panel', 

initialize: function() { 
var card = this; 

// ... 

var submit = Ext.create('Ext.Button', {  
    handler: function(button, e) { 
    card.setMasked(true); 

    // long retrieval operations 

    card.setMasked(false); 
}); 

// ... 
} 
}); 

答えて

0

ボタンハンドラの外に関数を定義し、それを呼び出し、処理関数内setMasked(真)とsetMasked(false)を置きます。

例:

myFunction: function(){ 
    card.setMasked(true); 

    // long retrieval operations 

    card.setMasked(false); 
} 

、次いで、ハンドラ内のコードは次のようになります

var submit = Ext.create('Ext.Button', {  
    handler: function(button, e) { 
    this.myFunction; 
}); 
関連する問題