【问题标题】:ExtJS TabItem Click EventExtJS TabItem 点击事件
【发布时间】:2015-04-22 13:48:38
【问题描述】:

大家早上好,

我有一个 ExtJS 5 标签面板。当标签面板第一次出现时,里面有一个标签,标题是星号。我需要的是当用户单击星号以创建新的 tabItem 时。我已经尝试了激活事件,但它只适用于存在多个选项卡。我也尝试绑定到单击事件,但没有任何反应。这是我现在拥有的代码:

{
                xtype:'tabpanel',
                itemId:'tabCtr1',
                width:785,
                items:[
                    { iconCls: 'btn-NewTab', html : 'A simple tab' }
                ]
            }

function assetDetailsDialog_AfterRender(sender, eOpts)
{
   parent.down('tabpanel').items.getAt(0).on('click', function(){
            alert('Hello World');
        });
}

谢谢大家

关注问题:

我在设置活动标签时遇到了另一个问题。单击按钮时,它会创建新选项卡而不是问题,但是当我调用 setActiveTab 时,它似乎什么也不做。当我在 Chrome 中逐步浏览它时,我可以看到它实际上是将选项卡更改为指定的选项卡,然后将其切换回原始选项卡。任何帮助都会很棒。有任何想法吗?

【问题讨论】:

    标签: extjs extjs-mvc


    【解决方案1】:

    我创建了一个fiddle,它演示了如何在单击时动态添加选项卡,代码也在下面列出,以防链接中断。在下面的代码中,重要的事情是将监听器添加到 tabConfig

    Ext.application({
        name: 'Fiddle',
    
        launch: function() {
            var tabPanel = Ext.create('Ext.tab.Panel', {
                width: 800,
                height: 400,
                renderTo: document.body,
                items: [{
                    title: 'Click me to add another tab',
                    tabConfig: {
                        listeners: {
                            click: function(tab) {
                                alert("Adding another tab");
                                var newTab = tabPanel.add({
                                    // we use the tabs.items property to get the length of current items/tabs
                                    title: 'Tab ' + (tabPanel.items.length + 1),
                                    html: 'Another one'
                                });
                            }
                        }
                    }
                }, {
                    title: 'Bar',
                    tabConfig: {
                        title: 'Custom Title',
                        tooltip: 'A button tooltip'
                    }
                }]
            });
        }
    });
    

    大部分代码取自文档here

    【讨论】:

    • 效果惊人。我用谷歌搜索了一个小时,找不到杰克。这正是我所需要的。最后一个问题。你知道如何在标签项标题中添加上下文菜单吗?
    • 我自己没有做过,所以我不确定。有一个内置插件可以添加关闭上下文菜单,您应该可以使用它,请参阅以下链接:try.sencha.com/extjs/4.0.7/examples/tabs/tabs-adv/viewer.htmldocs.sencha.com/extjs/5.0.1/#!/api/Ext.ux.TabCloseMenu
    • 我在设置活动标签时遇到了另一个问题。单击按钮时,它会创建新选项卡而不是问题,但是当我调用 setActiveTab 时,它似乎什么也不做。当我在 Chrome 中逐步浏览它时,我可以看到它实际上是将选项卡更改为指定的选项卡,然后将其切换回原始选项卡。任何帮助都会很棒。有什么想法吗?
    • 检查这个fiddle 我只能使用延迟让它工作,以便它在选项卡完全呈现后运行,您可能会向您创建的动态选项卡添加一个侦听器,所以在渲染时它将自己设置为活动选项卡
    猜你喜欢
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    相关资源
    最近更新 更多