如何在 ExtJs 中单击 TabPanel 中的 Tab 菜单时初始化各个选项卡数据?

Posted

技术标签:

【中文标题】如何在 ExtJs 中单击 TabPanel 中的 Tab 菜单时初始化各个选项卡数据?【英文标题】:How to initialize the individual tabs data on click on the Tab menu in TabPanel in ExtJs? 【发布时间】:2021-07-20 12:30:41 【问题描述】:

我在 Ext Js 4 中有一个标签面板,并且有几个标签。我为每个选项卡都有独立的面板,并且通过 xtype 链接到选项卡。

现在的问题是每个选项卡的所有 api 调用都会在选项卡面板加载后立即执行服务器,这不符合我的要求。一旦相应的选项卡被激活,我想再次为该选项卡重新加载所有内容。

Ext.define('Test.AbcTabPanel', 
        extend: 'Ext.tab.Panel',
        alias: ['widget.abcTabPanel'],
        requires: [
            'Test.Test1Panel',
            'Test.Test2Panel'
        ],
        width: '100%',
        activeTab: 'test1',
        initComponent: function () 
            var me = this;
    
            me.items = [
                title: 'Test 1',
                itemId: 'test1',
                flex: 1,
                border: true,
                items: 
                    xtype: 'test1Panel',
                    form: me
                
            , 
                title: 'Test 2',
                itemId: 'test2',
                flex: 1,
                tabConfig: 
                    tooltip: 'Test 2'
                ,
                items: 
                    xtype: 'Test2Panel'
    
                
            
    
            
            ;
            me.callParent();
        
    );

【问题讨论】:

【参考方案1】:

您可以使用beforetabchange 或tabchange 事件来触发选项卡的适当api调用。

【讨论】:

以上是关于如何在 ExtJs 中单击 TabPanel 中的 Tab 菜单时初始化各个选项卡数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式隐藏 TabPanel 中的 Tab(ExtJS 3)

ExtJS (3.4):更新 TabPanel 中面板的工具提示

如何更改 TabPanel extjs 的像素位置?

单击 EXTJS 中选项卡面板的侦听器

如何在ExtJS Tabpanel中显示JSON表单字段?

extjs 渲染器范围