向Ext.TabPanel添加不可选择的文本选项卡
Adding non-selectable text tab to Ext.TabPanel?
我试图创建一个TabPanel,在标签旁边有一个文本标题。也就是说,不用
|Tab1|Tab2|Tab3|Tab4|
,我想要Text Here |Tab1|Tab2|Tab3|Tab4|
文本不应该作为选项卡可选择,那么我该怎么做呢?
目前,我的TabPanel是这样的:
new Ext.TabPanel({
id: 'lift-template',
defaults: {
items:[
{
xtype: 'list',
store: myStore,
itemCls: 'my-row',
itemTpl: '<p><span class="blah">{variable}</span></p>'
}
]
},
items: [
{title:'Week'},
{title: '1'},
{title: '2'},
{title: '3'},
{title: '4'}
]
});
我如何添加一个不是真正的选项卡的项目,或者至少禁用激活?
我不会尝试使用选项卡的功能来破解标签。你想要的只是一个标签,所以你可以浏览TabPanel
的源代码,并找到一个约定的地方添加它。
我刚刚查看了Ext.TabPanel
(Ext 3.3.1)的源代码,onRender
是创建选项卡条的方法,所以我要做的是创建Ext.TabPanel
的自定义扩展,称之为MyApp.WeeksTabPanel
,并在调用超类方法后重写onRender
方法以添加标签。看起来你可能只是添加一个自定义span作为this.stripWrap
的第一个子。
像这样:
MyApp.WeeksTabPanel = Ext.extend(Ext.TabPanel, {
onRender: function() {
MyApp.WeeksTabPanel.superclass.onRender.apply(this, arguments);
this.stripWrap.insertFirst({tag: 'span', html: 'Weeks:'});
}
});
与SeanA提供的答案略有相似,这是Sencha Touch(1.1)的修改答案。
查看示例
/**
* We will just need to extend the original tabpanel to
* have the ability to create extra text node in front
* of all the tabs (Check Ext.TabBar)
*/
var FunkyTabPanel = Ext.extend(Ext.TabPanel, {
initComponent: function() {
//we need it to initialize the tab bar first
FunkyTabPanel.superclass.initComponent.call(this);
//Then we hack in our text node. You can add cls/style too
this.tabBar.insert(0, {
text: this.title,
style: 'color:#fff;'
});
}
});
相关文章:
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 使用基于文本的 Jquery 选择选项
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 将输入文本与某个选项的值相匹配并自动选择
- 或者在表单上选择默认选项文本(选择1)
- 文本链接可更改引导程序选项卡
- 选择“选择选项”时显示文本.怎么做
- HTML-从mysql生成的选择框中的一个选项更改文本区域的颜色
- 禁用/启用基于单选/选择选项所选Javascript的文本框
- 单击select'时将数组行回显到文本区域中;s选项
- 在AngularJS Dropdownlost中设置默认文本选项
- 在ractive.js中获取所选选项文本
- 如何使用 jQuery 从 AJAX 生成的选择下拉列表中获取文本选项
- 发送所有文本选项在选择与请求
- 带有文本选项的单选按钮列表 蛋糕
- jquery设置php生成的文本选项列表
- jQuery警告文本选项从选择标签
- 向Ext.TabPanel添加不可选择的文本选项卡
- 如何添加其他(输入文本选项)在一个javascript测验页面