Question

Je construis un widget avec UiBinder, et je dois le faire enfermé dans un <span /> mais UiBinder me donne seulement <div />. Par exemple. <g:HTMLPanel /> => <div />. HorizonPanel, FlowPanel, VerticalPanel donnent également uniquement <div />.

Sait-on une solution?

Était-ce utile?

La solution

Essayez ceci:

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

Autres conseils

Vous pouvez continuer à utiliser un <div> mais il suffit d'ajouter à son display: inline CSS, ce qui en fera afficher comme si elle était un <span>.

Edit: lieu fixé à la fin où je dis « div » mais signifiait « durée »

.

En ce qui concerne la réponse ci-dessus par Robert (désolé, je ne peux pas comprendre comment faire des commentaires que directement)

Cela ne fonctionnera pas hors de la boîte, que les widgets ne peuvent pas être placés à l'intérieur HTML brut (le compilateur vous donnera « erreur: trouvé widget dans le contexte html »). Mais il y a une solution 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>

Une autre chose est utile de mentionner InlineHTML et InlineLabel widgets capable de contenir html ou texte arbitraire plaine respectivement dans un

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top