2

我想在 ExtJS 4 中使用包含我自己的组件(或 XTemplete)的大标签制作一个标签面板,有什么方法可以实现吗?谢谢

更新 :可以通过此链接更改自定义选项卡的高度

更改 ExtJS 4 选项卡的高度

4

1 回答 1

2

签出Ext.tab.BarExt.tab.Tab。您可以通过Ext.tab.Panel#tabBarconfig 属性将选项卡栏配置传递给面板。

var tabpanel = {
    xtype: 'tabpanel',
    tabBar: {
        defaultType: 'xxx'        
    }
}​

然后,您使用alias: 'widget.xxx. 默认Ext.tab.TabExt.button.Button自定义样式的子类。

用一个不仅仅是一个子类的组件替换它Ext.tab.Tab可能需要相当多的工作。您需要确保组件的行为正确,并且 CSS 样式看起来不错。

一种更快但不太灵活的方法是子类化Ext.tab.Tab并更改其外观以满足您的需求。

更新

不幸的是,ExtJsExt.tab.Panel为每个正在添加/创建的选项卡明确设置了 xtype。从Ext.tab.Panel

onAdd: function(item, index) {
    var me = this,
        cfg = item.tabConfig || {},
        defaultConfig = {
            xtype: 'tab',                // <= XXX
            card: item,
            disabled: item.disabled,
            closable: item.closable,

但正如您所看到的,可以tabConfig在选项卡面板的项目上添加 a,这将优先于此处定义的 defaultConfig。因此,一种简单直接的方法是在选项卡面板的每个子项上定义一个 tabConfig

tabConfig: {
   xtype: 'xxx'
}
于 2012-09-15T05:24:14.837 回答