Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 视口上的EXT JS toLayout不显示任何内容_Javascript_Extjs_Viewport - Fatal编程技术网

Javascript 视口上的EXT JS toLayout不显示任何内容

Javascript 视口上的EXT JS toLayout不显示任何内容,javascript,extjs,viewport,Javascript,Extjs,Viewport,在阅读了许多关于在现有容器中添加新组件而不重新加载整个页面的示例后,我遇到了一个小问题,即在视口组件中组合树和选项卡 我试图做的是将单击事件注册到树节点并加载到内容容器新组件中,根据节点类型,它可以是tabpanel、gridpanel或任何其他可用组件 下面是树对象的简短示例: { xtype: 'treepanel', id: 'tree-panel', listeners: { click: function(n) { va

在阅读了许多关于在现有容器中添加新组件而不重新加载整个页面的示例后,我遇到了一个小问题,即在视口组件中组合树和选项卡

我试图做的是将单击事件注册到树节点并加载到内容容器新组件中,根据节点类型,它可以是tabpanel、gridpanel或任何其他可用组件

下面是树对象的简短示例:

{
    xtype: 'treepanel',
    id: 'tree-panel',
    listeners: {
        click: function(n) {

            var content = Ext.getCmp('content-panel');

            content.setTitle(n.attributes.qtip);

            //remove all components from content-panel
            content.removeAll();

            content.add(dummy_tabs2);

            content.doLayout();

            return;
        }
    }
}
所有DOM操作都进行得很顺利,所有内容都已正确注册,显示了新标题,但未显示dummy_tabs2。我确实尝试为doLayout设置各种属性(真|假,真|假),但什么也没发生


我做错什么了吗

在布置前,尝试设置假人2的宽度和高度。 用firebug检查,可能面板在那里,但你看不见

请阅读中的外部面板

指定的子项时 面板,或动态添加 要将组件连接到面板,请记住 考虑如何希望面板 排列这些子元素,然后 这些子元素是否需要 可以使用Ext的一个内置 布局方案。默认情况下,面板使用 集装箱布局方案。这 只渲染子组件, 一个接一个地附加它们 在容器内,并且不会 应用任何尺寸


希望这会有所帮助。

现在我明白了,DOM可以正常工作,但EXTJS将display hidden属性应用于新插入的元素。所以剩下要做的就是将show()函数应用于我们的新组件。以下代码如下所示:

{
  xtype: 'treepanel',
  id: 'tree-panel',
  listeners: {
    click: function(n) {

    var content = Ext.getCmp('content-panel');

    content.setTitle(n.attributes.qtip);

    //remove all components from content-panel
    content.removeAll();

    var container = content.add(dummy_tabs2);

    content.doLayout();

    container.show();

    return;
    }
}}

是的,它正在渲染它,但属性显示处于隐藏状态。