2011-05-02 11 views
2

Panel上でsetLoading(true)を使用していますが、スピナーの下の「Loading ...」テキストを変更する方法が見つかりません。Sencha TouchでPanel上のloadingTextを変更するには?

少なくともノルウェー語に翻訳する必要があります。

app.views.ForfallDetaljerView = Ext.extend(Ext.Panel,{ 
    id: 'forfalldetaljer', 
    scroll: 'vertical', 
    dockedItems: [ new app.views.BackToolbar({ 
     title: 'Detaljer', 
     buttonHandler: function(){ 
      Ext.dispatch({ 
       controller: app.controllers.forfallDetaljer, 
       action: 'back', 
      }); 
      // Clear view 
      app.views.forfallDetaljer.update(''); 
     } 
    })], 
}); 

app.myview = new ForfallDetaljerView(); 
app.myview.setLoading(true); 

誰でも知っていますか?

+0

質問5時間前に、お互いから1分以内に2つの応答が尋ねられました。そのようなスタックオーバーフローの人生です。 – mistagrooves

答えて

2
app.myview = new ForfallDetaljerView(); 
var mask = new Ext.LoadMask(app.myview.el, {msg: "<text here>"}); 
mask.show(); 

あなたはそれを削除したいときは、その後、mask.hide()を行うことができます。

var l = app.myview.setLoading(true); 
l.el.down('div.x-loading-msg').setHTML("<text here>"); 

だからうまくいけば、これら二つのオプションが正しい方向にあなたを指す:

また、のような何かを行うことができます。

+0

私はl.el.down(...)。setHtml()の方法を試してみます。 Ext.LoadMaskは、私がカバーしたいパネルだけでなく、画面全体を占有します。私はマスクするべきではない上部と下部にツールバーがあります。 –

+0

l.el.down()...完璧に動作します、ありがとうございます! –

+0

@PHP_Jediあなたの歓迎ですが、マスクの領域は、あなたが渡した要素によって決まります(私の答えは全体のapp.myviewパネルです)、本体パネルの要素をツールバーなしで渡すと、それはそれをマスクする。 – mistagrooves

0

ロードメッセージを表示する別の方法があります:

var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."}); 
myMask.show(); 

Panel.setLoading(真)とExt.LoadMask(...)の両方がLoadMaskオブジェクトを返します。だからそれは同様に動作するはずです。

http://dev.sencha.com/deploy/touch/docs/?class=Ext.LoadMask

関連する問題