GWT:删除RootPanel的内容(id)

时间:2011-07-21 09:11:57

标签: gwt

我正在尝试根据ID删除RootPanel元素的全部内容。 RootPanel返回正确,我可以在调试器中看到它的内容。问题是,我删除了它,我尝试了以下事项:

                RootPanel rp = RootPanel.get("LayoutID2");
            if (rp != null) {
                for (Widget widget : rp) {
                    rp.remove(widget);
                }
            } 

知道我缺少什么,还是有其他功能?

最好的问候, 斯蒂芬

2 个答案:

答案 0 :(得分:5)

RootPanel的所有内容可能都不是小部件。例如,如果您在主页中放置了以下html:

<div id="LayoutID2">
   Here goes the dynamic content
</div>

文字“这里是动态内容”不会显示为小部件。

顺便说一句,通过调用rp.clear()可以删除所有小部件

答案 1 :(得分:1)

接受的答案是正确的,因为RootPanel中的所有内容可能都不是小部件。 rp.clear()将删除所有小部件也是正确的。但是,如果你想做第二个答案建议并完全清除面板,那么这里有一个非常简单的方法。使用:

rp.clear(true);

可选的布尔参数将清除RootPanel中的DOM元素以及Widgets。这比第二个答案简单得多。