我有一个页面,页面的前半部分(垂直(有一个网格,页面的后半部分有一个内容查看器。当用户单击网格中的项目时,我正在加载相应的图像并且工作正常。当用户单击网格中的第二项时,查看器正在加载第二张图像,但问题是它也保留了第一张图像(图像作为选项卡打开(。所以我需要在加载第二个图像时删除第一个图像。有没有办法从 ContentViewer 获取项目,以便我可以在加载新项目之前关闭上一个项目?
ContentViewer 的 getViewersStatus(( 方法将返回一个包含所有当前打开的项目的结构。然后,您可以遍历它并在每个上调用 closeItem((。
但是,如果您使用的是 Navigator 2.0.3.3 或更高版本,您可能想要做的是在 ContentViewer 小部件上调用 closeAllViewers(( 来关闭所有打开的项目,而不提示保存更改。
参考: https://www.ibm.com/support/knowledgecenter/en/SSEUEX_2.0.3/com.ibm.developingeuc.doc/doc/JavaScriptdoc/symbols/ecm.widget.viewer.ContentViewer.html
好的,这就是我为此所做的。
if(this.imgViewer.mainTabContainer.getChildren().length>0){
array.forEach(this.imgViewer.mainTabContainer.getChildren(),function(child){
this.imgViewer.mainTabContainer.removeChild(child);
});
}