我一直在我的应用程序中使用以下代码段来驱动包含不同树的菜单,具体取决于所选内容。它尝试仅创建一次树面板,然后在再次选择它们时重新使用它们,即保持树处于展开状态。
var west = Ext.getCmp("west-panel");
west.removeAll(false);
west.doLayout();
var existingPanel = Ext.getCmp('component-tree-project-' + systemId);
if (existingPanel) {
west.add(existingPanel);
west.doLayout();
return;
}
//... code to add create and add a new tree panel
问题出在west.removeAll(false)上,false阻止节点被破坏,但它们不会出现在面板中。该面板坚持显示其最后包含的内容。
使用west.removeAll(true)可以正常工作,除了始终创建新面板的事实。
最佳答案
不应该声明为west.removeAll(true);