Pregunta

Estoy construyendo un widget con uibinder, y necesito tenerlo encerrado en un <span /> Pero Uibinder solo me da <div />. P.ej <g:HTMLPanel /> => <div />. Horizonpanel, FlowPanel, VerticalPanel también dan solo <div />.

¿Alguien sabe alguna solución?

¿Fue útil?

Solución

Prueba esto:

<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>

Otros consejos

Puedes seguir usando un <div> Pero solo agrega display: inline a su CSS, que lo hará exhibir como si fuera un <span>.

Editar: Lugar correcto al final donde dije 'div' pero significaba 'span'.

Con respecto a la respuesta anterior por Robert (lo siento, no puedo entender cómo comentar eso directamente)

Esto no funcionará fuera de la caja, ya que los widgets no se pueden colocar dentro de HTML simple (el compilador le dará "Error: widget encontrado en contexto HTML"). Pero hay una solución simple:

<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>

Otra cosa útil a mencionar es inlinehtml e inlinelabel widgets capaces de mantener html o texto simple respectivamente en un

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top