我有一个setup,根据用户对左面板树中项目的选择,预计会加载该选项卡。我的目标是仅根据用户选择将相关项加载到特定选项卡。
第一次,我可以添加如下项目:
var tab = tabs1.getItem('Orders');
tab.remove(0);
tab.add(pane33);
tab.doLayout();
但是,当用户再次选择该项时,面板项已被删除,错误输出为(c.getPositionEl().dom is undefined
)。
错误是由于项目被删除或销毁。似乎没有选项来替换选项卡项,或刷新/重新加载面板。
如何处理?
感谢。
答案 0 :(得分:2)
Container.remove
有一个可选的第二个参数autoDestroy
,这意味着被删除的组件也会被永久销毁(对于TabPanels,默认为 true )。您只是一次实例化您的子组件,因此在它们被销毁后,它们将不再可用。传递autoDestroy: false
(也可以在TabPanel级别设置)并在删除后隐藏现有组件(然后在后续点击时显示它们),或者您必须在每次添加之前重新实例化它们。 / p>
答案 1 :(得分:0)
您可以将该选项标记为“已选择”并检查鼠标操作。作为一种简单的方法。