2014-02-05 200 views
0

標題欄類不會隱藏或顯示,就像它在sencha文檔中所說的那樣。我正在初始化它像這樣標題欄不會隱藏或顯示

{ 
    xtype: 'titlebar', 
    docked: 'top', 
    hidden: true 
}; 

因此它開始隱藏。當我設置hidden: false時,它確實顯示出來。我在一個按鈕中引用它,當按下按鈕時,它顯示或隱藏。

bar.show()bar.hide()不起作用。 bar.setHidden(true)bar.setHidden(false)也沒有。 bar.hidden = truebar.hidden = false也沒有。我按鈕中的事件處理程序確實有效,當它被按下時,它會打印一條消息。

讓標題欄消失並重新出現的另一種方法是什麼?

UPDATE

下面是我的對象和按鈕聽衆的代碼。這裏是整個類文件的鏈接:http://pastebin.com/tbS35Czk

我settingsbar(這在其他類中定義在這裏:http://pastebin.com/xP5NSrb8

var settingsbar = { 
       xtype: 'meterreadings_settingsbar', 
       docked: 'top', 
       added: false 
       }; 

這裏是按鈕和監聽:

{ 
    xtype: 'mbButton', 
    text: 'Settings', 
    align: 'right', 
    listeners: { 
     tap: function(source, e, eOpts) { 
      if(!settingsbar.added){ 
       settingsbar.added = true; 
       Ext.ComponentQuery.query('.meterreadings_main')[0].add(settingsbar); 
      } 
      else{ 
       if(settingsbar.hidden){ 
        settingsbar.show(); 
       } 
       else{ 
        settingsbar.hide(); 
       } 

      } 
     } 
    } 
} 
+0

你能展示更多代碼嗎? 'show'和'hide'方法應該按照你的意願工作:https://fiddle.sencha.com/#fiddle/3cb – Akatum

+0

@Akatum是的,我會在一分鐘內更新我的問題。 – Graham

回答

0

解決了這個問題。而不是做

var settingsbar = { 
       xtype: 'meterreadings_settingsbar', 
       docked: 'top', 
       added: false 
       }; 

的,我需要做

var settingsbar = Ext.create('pw.meterreadings.main.settingsbar.Settingsbar',{ 
       docked: 'top', 
       added: false 
       }); 

不同的是我用Ext.create代替xtype