2011-10-05 83 views
0

我是Sencha Touch的新手,只是試圖在TabPanel中放置一個工具欄。 我這樣做是因爲TabPanel將成爲我的主導航,工具欄將提供多個與內容相關的操作,例如創建一個新的作業或類似的東西。Sencha Touch:TabPanel內的工具欄

這是我的「解決方案」,即crtly不起作用。出現TabPanel,並且「Hello World」也這樣做,但不會有任何工具欄。

var tapHandler = function(btn, evt) { 
alert("Button "+btn.text+" tapped"); 
} 

var HomeScreen = new Ext.Panel({ 
fullscreen: true, 
dockedItems: [ 
    { 
     xtype: "toolbar", 
     title: "buttons", 
     ui: "light", 
     dock: "bottom", 
     items: [ 
      {ui: "action", text: "Add"} 
     ], 
     defaults: { 
      handler: tapHandler 
     } 
    } 
], 
html: "Hello World" 
}); 

new Ext.Application({ 
name: "Hello World", 

launch: function() { 
    var tabPanel = new Ext.TabPanel({ 
     fullscreen: true, 
     ui: 'dark', 
     sortable: true, 
     items: [ 
      { 
       title: "Home", 
       html: "Loading..." 
      } 
     ] 
    }); 
    tabPanel.items.get(0).update(HomeScreen, true); 
} 
}); 

你有什麼解決方案嗎?

問候, 馬丁

回答

1

我覺得這裏的問題可能是,在update()方法期望一個HTML字符串,主屏幕是一個Ext.Panel。通過定義項目數組對象裏面

items: [ 
     HomePanel        
    ] 

或者:

如果是我,我會利用可變這樣添加到主屏幕的項目集合中的TabPanel要麼

items: [{ 
    xtype: "panel", 
    html: "Hello world", 
    dockedItems: [{ 
     // You toolbar definition 
    }] 
}] 

或通過使用TabPanel.add()方法:

tabPanel.add(HomePanel); 
+0

謝謝,這使得它:d。 但我需要做的: '項目:[HomePanel]' –

+0

而且,update() - 方法不會除HTML String外,Ext.Panel工作正常;) –