afterrender 在 tbpanel Extjs modern 中不起作用

afterrender not work in tbpanel Extjs modern

A​​fterrender 事件不适用于我的选项卡面板组件。 我的标签面板代码:

Ext.define('Admin.view.tabs.Tabs', {
extend: 'Ext.tab.Panel',

shadow: true,
cls: 'demo-solid-background',
tabBar: {
    layout: {
        pack: 'center'
    }
},
activeTab: 1,
defaults: {
    scrollable: true
},
items: [
    {
        title: 'Tab 1',
        html : 'By default, tabs are aligned to the top of a view.',
        cls: 'card'
    },
    {
        title: 'Tab 2',
        html : 'A TabPanel can use different animations by setting <code>layout.animation.</code>',
        cls: 'card'
    }
],
listeners: {
    afterrender: function(corpse) {
        console.log('afterrender');
    }
}});

我在视图表单面板中使用的这个选项卡面板是这样添加到主视图中的:

doCompose: function (to) {
    var me = this,
        composer = me.composer,
        view = me.getView(),
        viewModel = me.getViewModel(),
        toField;

    me.hideActions();

    if (!composer) {
        me.composer = composer = view.add(
            {
            xtype: 'compose',
            flex: 1                    
        });

        if (to) {
            toField = me.lookupReference('toField');
            toField.setValue(to);
        }

        viewModel.set('composing', true);
    }
}

Compose 这是我的表单面板,其中包含选项卡面板。 我尝试使用官方模板 ExtJs Sencha 中的示例。 查看移动配置文件撰写电子邮件 https://github.com/syscobra/extjs-admin-dashboard-template/tree/master/modern/src

正如我所说,Ext-JS 6 现代 TabPanel 没有后渲染 event.Instead 你可以使用 painted,这是 FIDDLE

listeners: {
    painted: function () {
        //your code
    }
}