GWT:如何使用 UIBinder 在 Anchor 中嵌入小部件
我想在 UIBinder 中使用以下内容,以便我可以以编程方式设置代码中链接的 href
。
<g:HTMLPanel>
<g:Anchor ui:field="link">
<g:InlineLabel ui:field="firstName"/>
<g:InlineLabel ui:field="lastName"/>
</g:Anchor>
</g:HTMLPanel>
当我尝试这个时,我得到:
ERROR: Found widget in an HTML context Element <g:InlineLabel ui:field='firstName'> (:7).
如何将小部件嵌入锚点内?以前我曾使用:
<a id="myAnchor">
etc...
</a>
然后在代码中操作 DOM 来设置 HREF,但这很丑陋。有更好的办法吗?
I'd like to use the following in UIBinder, so that I can programmatically set the href
of the link in my code.
<g:HTMLPanel>
<g:Anchor ui:field="link">
<g:InlineLabel ui:field="firstName"/>
<g:InlineLabel ui:field="lastName"/>
</g:Anchor>
</g:HTMLPanel>
When I try this I get:
ERROR: Found widget in an HTML context Element <g:InlineLabel ui:field='firstName'> (:7).
How can I embed widgets inside an anchor? Previously I've resorted to using:
<a id="myAnchor">
etc...
</a>
And then manipulating the DOM in my code to set the HREF, but that's ugly. Is there a better way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
下面的类的行为与 SimplePanel 完全相同(即,您可以在其中放置一个小部件),但使用“a”而不是“div”。如果您需要更多小部件,只需在其中放置另一个面板即可。
The class below acts exactly like a SimplePanel (i.e., you can put an widget in it), but uses an "a" instead of a "div". If you need more widgets just put another panel in it.
最好使用面板(流式或水平式)并向面板添加单击处理程序以模拟链接。锚点、按钮和类似的小部件不允许在其中包含子标签。
It is better to use a Panel (Flow or Horizontal) and add click handlers to the panel to simulate a link. Anchor, Button and similar widgets will not allow child tags inside them.