如何在 Extjs TabPanel 的选项卡中添加工具?
如何在 TabControl 中每个选项卡的标题中添加按钮(工具)?
我只能在 TabPanel 中添加工具,但我想在选项卡中添加。
我也尝试过这个,但没有成功:
var lTabPanel = Ext.create('Ext.tab.Panel', {
width: 400,
height: 400,
renderTo: document.body,
items: [{
title: 'Home',
html: 'Home',
itemId: 'home'
}, {
title: 'Users',
html: 'Users',
itemId: 'users',
hidden: true
}, {
title : 'Tickets',
html : 'Tickets',
itemId : 'tickets',
tools:[{
type:'gear',
tooltip: 'Options',
handler: function(event, toolEl, panel){
// Some code.
}
}]
}]
});
有什么想法吗?
谢谢!
How can I add the buttons (tools) in the header of each tab, in a TabControl?
I just could add tools in the TabPanel, but I want to add in the tabs.
I also tried this, but no success:
var lTabPanel = Ext.create('Ext.tab.Panel', {
width: 400,
height: 400,
renderTo: document.body,
items: [{
title: 'Home',
html: 'Home',
itemId: 'home'
}, {
title: 'Users',
html: 'Users',
itemId: 'users',
hidden: true
}, {
title : 'Tickets',
html : 'Tickets',
itemId : 'tickets',
tools:[{
type:'gear',
tooltip: 'Options',
handler: function(event, toolEl, panel){
// Some code.
}
}]
}]
});
Any idea?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实际上相当艰难。
如果您检查他们的源代码,
Ext.tab.Panel
实际上使用卡片布局,并且对于每个选项卡,他们使用Ext.tab.Tab
来执行选项卡按钮。那么如果你查看
Ext.tab.Tab
的源码,它其实是扩展了Ext.button.Button
,只是一个修改过的按钮。所以如果你需要添加工具,恐怕最好的方法是扩展
Ext.tab.Tab
并编写自己的选项卡按钮。您可能想看看他们如何在/src/tab/Tab.js
的第 233 行创建可关闭
按钮。(Ext-4.0.2a)
干杯
编辑
所以我们知道
Ext.tab.Tab
正在扩展Ext.button.Button
,我们可以利用这个事实,我已经提出了这个解决方案,请在小提琴上查看:http://jsfiddle.net/uBxqY/4/基本上,我扩展了
Ext.tab.Tab
,并修改了buttonWrapper类,以便具有箭头添加了CSS。没什么特别的,一切都是开箱即用的。此外,我还重写了
onClick
函数,以便当用户单击选项卡本身时菜单不会展开。有点脏,但它可以工作(从Ext.button.Split
借用prototype.onClick
。工作示例:http://jsfiddle.net/uBxqY/4/,或来源:
Quite tough actually.
If you check their source code,
Ext.tab.Panel
is in fact using Card Layout and for each tab, they usedExt.tab.Tab
to do the tab buttons.Then if you check the source code of
Ext.tab.Tab
, it's in fact extendingExt.button.Button
, which is just a modified button.So if you need to add tools, I afraid the best way is to extend
Ext.tab.Tab
and write your own tab buttons. You might want to check out how they createcloseable
buttons in line 233 of/src/tab/Tab.js
.(Ext-4.0.2a)
Cheers
EDIT
So we know
Ext.tab.Tab
is extendingExt.button.Button
, we can make use of this fact, and I have came out with this solution, check this out at fiddle: http://jsfiddle.net/uBxqY/4/Basically, I have extended
Ext.tab.Tab
, and modified the buttonWrapper class so to have the arrow css added. Nothing fancy, everything work out of the box.Also I have overrided the
onClick
function so the menu won't be expanded when the user click on the tab itself. A little bit dirty, but it works (borrowedprototype.onClick
fromExt.button.Split
.Working example: http://jsfiddle.net/uBxqY/4/, or source:
感谢您分享解决方案!
这是我的方式(基于你的):
CSS:
Thank you for sharing solution!
This is my way (based on yours):
CSS: