我一直在我的应用程序中使用以下代码段来驱动包含不同树的菜单,具体取决于所选内容。它尝试仅创建一次树面板,然后在再次选择它们时重新使用它们,即保持树处于展开状态。

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);

09-16 17:47