2
在我的應用程序中,第一頁顯示底部的tabPanel。但標籤數量,標籤和圖標是來自json請求的動態內容。我想知道如何去做。這是我的嘗試。Sencha使用動態JSON數據觸摸tabPanel
TMDemo = new Ext.Application({
name: 'TMDemo',
launch: function(){
this.views.mainTabBar = new this.views.MainTabBar();
}
});
TMDemo.views.MainTabBar = Ext.extend(Ext.TabPanel,{
fullscreen: true,
tabBar:{
dock:'bottom',
layout:{
pack:'center'
}
},
addItems: function(){
this.add(addItemsBasedOnJsonData());
this.doLayout(); // important
},
listeners: {
beforerender:function(){
Ext.util.JSONP.request({
url: 'app/data/tabbar.json',
callbackKey: 'callback',
callback: function(result) {
console.log("Inside callback");
TMDemo.tabBarData = result;
}
});
}
render: function(){
console.log("Inside render");
this.addItems();
}
}
});
此處tabbar數據來自tabbar.json(虛擬數據實際將是某個URL)。我通過addItemsBasedOnJsonData()函數將項目添加到此Tabpanel中,該函數將創建選項卡項並返回數組。 但問題是渲染事件總是先觸發然後JSON請求回調,所以沒有jsondata可用於動態創建選項卡。 請指導我正確的方向。這種方法是否正確。我可以有任何示例來尋找。
塔倫
我用的doLayout呼叫嘗試這樣做。標籤欄數據可用,但標籤不能正確呈現,我的意思是CSS是搞砸了。 –
你是怎麼做doLayout的?我可以看到代碼嗎? – Luis
也有你試過:doComponentLayout() – Luis