Pergunta

Estou construindo um widget com Uibinder e preciso tê -lo fechado em um <span /> Mas o Uibinder só me dá <div />. Por exemplo <g:HTMLPanel /> => <div />. Horizonpanel, FlowPanel, VerticalPanel também apenas fornece <div />.

Alguém sabe uma solução?

Foi útil?

Solução

Experimente isso:

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

Outras dicas

Você pode continuar usando um <div> Mas apenas adicione display: inline para o seu CSS, o que fará com que seja exibido como se fosse um <span>.

EDIT: Lugar fixo no final, onde eu disse 'div', mas significa 'span'.

Com relação à resposta acima por Robert (desculpe, não consigo descobrir como comentar isso diretamente)

Isso não funcionará fora da caixa, pois os widgets não podem ser colocados dentro de HTML simples (o compilador fornecerá "Erro: widget encontrado no contexto HTML"). Mas há uma solução alternativa simples:

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

Uma outra coisa útil a mencionar é a inlinehtml e os widgets inlinelabel capazes de manter html arbitário ou texto simples, respectivamente em um

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top