我正在使用UiBinder
来创建自定义小部件。 UI模板类似于:
<g:HTMLPanel styleName="setting">
<div ui:field="dynamicDiv">
</div>
{other stuff here}
</g:HTMLPanel>
然后,要在dynamicDiv
中添加小部件,我用HTMLPanel包装它:
HTMLPanel.wrap(dynamicDiv);
并将其用作普通小部件。
当我正常运行应用程序时一切都很好,但如果我在调试模式下运行,则以下内容
assert Document.get().getBody().isOrHasChild(element);
在HTMLPanel.wrap()
它失败了,因此我无法调试代码。
除了调试的烦恼,我想有一个很好的理由把断言放在那里,所以我想了解包装该div的正确方法是什么。
你不需要包装div,只需使用包含HTMLPanel
的适当方法;例如。:
theHtmlPanel.add(theWidget, dynamicDiv);