extjs 选项卡内容不会显示



在下面的代码中,如果我将activeTab设置为0,则/viewer/welcome的内容将按预期显示。如果我将activeTab设置为1(如下所示),则第二个选项卡在加载时被激活,但是当我单击第一个选项卡时,内容永远不会显示。在我点击标签之前,我可以看到它加载标签的内容(如果我设置autolload: false,它根本不加载它),但是即使它加载了,它也不显示。

{
    xtype: 'tabpanel',
    activeTab: 1,
    items: [
        {
            xtype: 'panel',
            loader: {
                url: '/viewer/welcome/',
                renderer: 'html',
                autoLoad: true
            },
            layout: {
                type: 'fit'
            },
            title: 'Welcome'
        },
                    ...
       }

为什么当选项卡被激活时,选项卡的内容实际上没有呈现?为什么它的工作,如果选项卡是在负载上的活动选项卡,但不是当它被激活,否则?

如果我做了这些更改,文本一直按预期显示,但我从虚假的激活调用中获得额外的页面加载。

{
    xtype: 'tabpanel',
    activeTab: 1,
    items: [
        {
            xtype: 'panel',
            loader: {
                url: '/viewer/welcome/',
                renderer: 'html',
                autoLoad: false
            },
            layout: {
                type: 'fit'
            },
            title: 'Welcome',
            listeners: {
                activate: function(me, opts) {
                     me.getLoader().load();
                }
            }
        },
                    ...
       }

我只是不明白为什么标签不管理这个内容作为标签的一部分.....

我认为这里的问题是你所指出的-选项卡不管理内容。他们没有正确管理它的原因是从加载器返回的HTML内容只是-一些HTML,它不是ExtJS组件。ExtJS"应该"管理它已加载的内容是有争议的,但文档暗示相反:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Component-cfg-html这可能值得在此提交一个错误。

另外,我注意到你在欢迎面板上指定了一个合适的布局。由于该面板中没有包含其他项,因此可能不需要该设置—顺便说一句,它可能(也可能不)改善加载的html片段的处理方式。

好运。

我发现在ExtJS 5.1中使用引用名称不起作用。必须输入itemId

最新更新