学习Sencha Touch,并且已经爱上了它。在我看来,比JQTouch要好得多。只是处理我的一些应用程序想法,我需要有2个选项卡,其中第一个选项卡将包含带有一些数据的ext.List。我已经到了这么远,但有一个我无法弄清楚的问题。
问题:当我触摸列表中的名称时,不会显示详细面板。当它不在标签面板中时,我完全没有问题。试过论坛,找不到解决方案。
这是我的整个代码(基于很多例子):
ShotjesApp = new Ext.Application({
name: "Shotjes",
launch: function() {
ShotjesApp.detailPanel = new Ext.Panel({
id: 'detailpanel',
tpl: 'Omschrijving: {Naam} <br> <br> {Inhoud}',
dockedItems: [
{
xtype: 'toolbar',
items: [{
text: 'terug',
ui: 'back',
handler: function() {
ShotjesApp.Viewport.setActiveItem('listwrapper', {type:'slide', direction:'right'});
}
}]
}
]
});
ShotjesApp.listPanel = new Ext.List({
id: 'disclosurelist',
store: ListStore,
itemTpl: '<div class="contact">{Naam} {Basis}</div>',
grouped: true,
onItemDisclosure: function(record, btn, index) {
var naam = record.data.Naam;
ShotjesApp.detailPanel.update(record.data);
ShotjesApp.Viewport.setActiveItem('detailpanel') //THIS WON'T WORK?
ShotjesApp.detailPanel.dockedItems.items[0].setTitle(naam);
}
});
ShotjesApp.listWrapper = new Ext.Panel ({
id: 'listwrapper',
layout: 'fit',
items: [ShotjesApp.listPanel],
dockedItems: [
{
dock : 'top',
xtype: 'toolbar',
title: 'Shotjes'
}],
});
this.mainView = new Ext.TabPanel({
tabBar: {
dock: 'bottom',
ui: 'dark',
layout: { pack: 'center' }
},
cardSwitchAnimation: {
type: 'fade',
cover: true
},
items:[{
title: 'Shotjes',
cls: 'card 1',
id: 'card 1',
items: [ShotjesApp.listWrapper, ShotjesApp.detailPanel] ,
iconCls: 'home',
layout: 'card',
}, {
title: 'About',
cls: 'card 2',
id: 'card 2',
html: 'about',
iconCls: 'calendar',
layout: 'card',
}
],
tabBarDock: 'bottom',
fullscreen: true,
layout: 'fit'
});
this.Viewport = this.mainView;
}
});
答案 0 :(得分:0)
试试这个
ShotjesApp.Viewport.setActiveItem(ShotjesApp.detailPanel);
同样在你的代码中,分号丢失了。
答案 1 :(得分:0)
很酷,谢谢。我还添加了这个,否则幻灯片将作为新标签打开:
ShotjesApp.Viewport = new Ext.Panel ({
fullscreen: true,
layout: 'card',
cardSwitchAnimation: 'slide',
items: [ShotjesApp.listWrapper, ShotjesApp.detailPanel]
});
结合您的变化,它完美地运作..
虽然有一个很大的问题。由于视口是全屏,因此当我按下它时,第二个选项卡不会显示。当我将第二个标签设置为全屏:true时,我看到了动画,但第一个标签仍位于其上方。
当我在视口中更改全屏:false时,旧问题将返回,详细信息窗格将不会显示。