Tratando de hacer que Uibinder me dé un lapso, no un Div
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?
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