我做了很多阅读,但我无法弄清楚这一点。 此应用程序使用Sencha Touch 2.0
我的'app'有一个分段按钮
xtype: 'segmentedbutton'
有了这个项目
{
text: 'Blog',
scope: this,
handler: this.makeYqlRequest
}
这就是它的作用
blog: {
query: "select * from rss where url='http://feeds.feedburner.com/extblog' limit 5",
tpl: Ext.create('Ext.XTemplate', [
'<tpl if="item">',
'<tpl for="item">',
'<div class="blog-post">',
'<h3><a href="{link}" target="_blank">{title}</a></h3>',
'<p>{description}</p>',
'</div>',
'</tpl>',
'</tpl>'
])
}
这很有效,但现在我想使用Ext.TabPanel
我有这个项目
{
title: 'Blog',
iconCls: 'home',
html: 'Blog Screen'
}
如何从分段按钮获取处理程序以使用Ext.TabPanel? 我和一个听众玩了一点但是我无法让它发挥作用。
有人可以向我解释一下吗?
谢谢!
答案 0 :(得分:0)
您需要获取对TabPanel的引用并调用[setActiveItem](http://docs.sencha.com/touch/2-0/#!/api/Ext.Container-method-setActiveItem)
,传递您要激活的视图或该视图的索引。
简单示例(可查看here):
Ext.setup({
onReady: function() {
var tabPanel = Ext.create('Ext.tab.Panel', {
fullscreen: true,
items: [
{
title: 'Home',
items: [
{
xtype: 'toolbar',
items: [
{
xtype: 'segmentedbutton',
items: [
{
text: 'home'
},
{
text: 'blog',
handler: function() {
// Using an index
tabPanel.setActiveItem(1);
}
},
{
text: 'about',
handler: function() {
// Using a reference
var about = tabPanel.down('#about');
tabPanel.setActiveItem(about);
}
}
]
}
]
},
{
html: 'tap one of the above buttons to change the active tab.'
}
]
},
{
title: 'Blog',
html: 'blog'
},
{
title: 'About',
itemId: 'about',
items: [
{
xtype: 'toolbar',
docked: 'top',
items: [
{
text: 'Go to home',
handler: function() {
// using the index
tabPanel.setActiveItem(0);
}
}
]
}
]
}
]
});
}
});