通过按钮单击,

时间:2016-03-22 07:51:36

标签: javascript extjs

我有一个tabpanel,最初有一个标签和一个按钮。但是用户应该可以通过单击按钮添加更多选项卡。这是迄今为止的代码:

var tabPan = Ext.create('Ext.TabPanel', {
listeners: {
    beforetabchange: function(tabs, newTab, oldTab, eOpts) {
        if (newTab.title=='Add') { // Or some other condition

            return false; 
        }
    }
},
items:[
{
  title: 'Default Tab',
  html: innerHtml  
},
{
  xtype: 'button',
  title : 'Add',
},
]
})

1 个答案:

答案 0 :(得分:0)

您的方法是正确的,您只需要创建一个面板并将其添加到TabPanel。

   var i = 1;

    var onAddTab = function(tabPanel) {
        var newTab = {
            xtype: 'panel',
            title: 'Untitled Tab ' + (i++)
        };

        var index = tabPanel.items.length - 1;
        var newTabItem = tabPanel.insert(index, newTab);

        tabPanel.setActiveTab(newTabItem);
    };

    var tabPanel = Ext.create('Ext.TabPanel', {
        listeners: {
            beforetabchange: function(tabs, newTab, oldTab, eOpts) {
                if (newTab.title == 'Add') {
                    onAddTab(tabPanel);
                    return false;
                }
            }
        },
        items: [{
            title: 'Default Tab',
            html: 'Hello World'
        }, {
            xtype: 'button',
            title: 'Add',
        }],
        renderTo: Ext.getBody()
    });