我正在尝试根据ID删除RootPanel元素的全部内容。 RootPanel返回正确,我可以在调试器中看到它的内容。问题是,我删除了它,我尝试了以下事项:
RootPanel rp = RootPanel.get("LayoutID2");
if (rp != null) {
for (Widget widget : rp) {
rp.remove(widget);
}
}
知道我缺少什么,还是有其他功能?
最好的问候, 斯蒂芬
答案 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。这比第二个答案简单得多。