gpt4 book ai didi

gwt - 我可以为 HTMLPanel 定义一个 ID 吗?

转载 作者:行者123 更新时间:2023-12-04 21:59:17 26 4
gpt4 key购买 nike

如何定义 HTMLPanel 的 ID?当然我可以用 <div id="anID"> 包围 HTML但这也不会设置面板的 ID。

最佳答案

htmlPanel.getElement().setId("myId");

如果面板是在 UiBinder 模板中定义的,那么您必须通过“ui:field”在 Java 类中访问它:

<g:HTMLPanel ui:field="htmlPanel">...</g:HTMLPanel>
...

@UiField
HTMLPanel htmlPanel;

public MyWidget() {
initWidget(uiBinder.createAndBindUi(this));
htmlPanel.getElement().setId("myId");
}

注意:使用 <g:HTMLPanel id="myId">不起作用。

对于 GWT 小部件,使用 id 没有变得更简单是有原因的:

您必须非常小心,不要在同一页面上出现两次相同的 ID。由于自然的重用因素,这对于小部件尤其容易发生。 (不仅可以重复使用小部件,还可以重复使用父小部件......)

例如如果 MyWidget 可以在您的页面文档中同时出现多次,您必须确保每次都设置不同的 id。这样做是可能的,如果你愿意,你可以使用 com.google.gwt.dom.client.Document.createUniqueId() .

或者,如果可能,可以使用 CSS 类而不是 id(因为 css 类可以而且应该在同一页面上重复使用)。

关于gwt - 我可以为 HTMLPanel 定义一个 ID 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com