javascript - Extjs动态切换tabpanel中的tab位置

标签 javascript extjs4

我有标签面板:

{
    xtype: 'tabpanel',
    tabPosition: 'top', // it's default value
    items: [/*tabs*/]
}

还有一些改变布局的按钮:

{
    xtype: 'button',
    text: 'Change layout',
    handler: function (btn) {
        var layout = App.helper.Registry.get('layout');
        if (layout === this.getCurrentLayout()) {
            return;
        }
        if (layout === 'horizontal') {
            newContainer = this.down('container[cls~=split-horizontal]');//hbox laout
            oldContainer = this.down('container[cls~=split-vertical]');//vbox layout
            tabPanel.tabPosition = 'top';
        } else {
            newContainer = this.down('container[cls~=split-vertical]');
            oldContainer = this.down('container[cls~=split-horizontal]');
            tabPanel.tabPosition = 'bottom';
        }
        oldContainer.remove(somePanel, false);
        oldContainer.remove(tabPanel, false);

        newContainer.insert(0, somePanel);
        newContainer.insert(2, tabPanel);

        newContainer.show();
        oldContainer.hide();

    }

当我更改布局时,我还需要更改选项卡的位置。 当然,更改配置属性 tabPosition 没有任何效果。

如何动态切换 tabPosition?

最佳答案

恐怕在 tabpanel 的情况下,唯一的方法是销毁当前面板并使用更改的 tabPosition 设置从配置对象重新创建它。您可以使用 cloneConfig() 方法从现有面板中获取配置对象。

关于javascript - Extjs动态切换tabpanel中的tab位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383204/

相关文章:

javascript - 在实际上传之前显示图像

javascript - 如何在 extjs XTemplate 中循环

html - 将 <br> 替换为使其宽度适应容器 : possible? 的水平线

ExtJS 别名与 id

javascript - 让 JS Alert 看起来更专业

javascript - 如何创建适用于移动和桌面浏览器的平面图?

javascript - React Native setState 根本不工作(功能组件),甚至不同步

javascript - 上传函数没有被 ng-file-select 调用

javascript - 如何在 Extjs 中使标签变灰

javascript - setInterval 在 IE 8 中每秒 50 次缓慢