1

我有一个页面,其中页面的前半部分(垂直)有一个 gridx,页面的后半部分有一个 contentViewer。当用户单击网格中的项目时,我正在加载相应的图像并且工作正常。当用户单击网格中的第二个项目时,查看器正在加载第二个图像,但问题是它也保留了第一个图像(图像作为选项卡打开)。所以我需要在加载第二张图片时删除第一张图片。有没有办法从 ContentViewer 获取项目,以便我可以在加载新项目之前关闭前一个项目?

4

2 回答 2

0

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

于 2017-07-21T13:09:58.200 回答
0

好的,这就是我为实现这一目标所做的。

if(this.imgViewer.mainTabContainer.getChildren().length>0){
                array.forEach(this.imgViewer.mainTabContainer.getChildren(),function(child){
                    this.imgViewer.mainTabContainer.removeChild(child);
                });
            }
于 2017-07-21T16:08:10.203 回答