16

我正在用 UiBinder 构建一个小部件,我需要将它包含在一个<span />但 UiBinder 只给我<div />. 例如<g:HTMLPanel />=> <div />。Horizo​​nPanel、FlowPanel、VerticalPanel 也只给出<div />.

有谁知道解决方案?

4

3 回答 3

23

尝试这个:

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
         xmlns:g='urn:import:com.google.gwt.user.client.ui'>
    <g:HTMLPanel tag="span">
        <!-- your stuff -->
    </g:HTMLPanel>
</ui:UiBinder>
于 2010-05-27T15:15:08.590 回答
5

您可以继续使用 a<div>但只需添加display: inline到它的 CSS 中,这将使它显示为就好像它是一个<span>.

编辑:在我说“div”但意思是“跨度”的末尾固定位置。

于 2010-02-15T16:48:56.197 回答
0

关于罗伯特上面的答案(对不起,我不知道如何直接评论)

这不会开箱即用,因为小部件不能放在纯 HTML 中(编译器会给你“错误:在 html 上下文中找到小部件”)。但是有一个简单的解决方法:

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
             xmlns:g='urn:import:com.google.gwt.user.client.ui'>
  <g:HTMLPanel>
    <span>
      <!-- Your content with widgets goes here -->
    </span>
  </g:HTMLPanel>
</ui:UiBinder>

另一件有用的事情是 InlineHTML 和 InlineLabel 小部件能够分别在 <span> 中保存任意 html 或纯文本

于 2010-02-14T18:35:23.653 回答