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