Domanda

Sto costruendo un widget con UiBinder, e ho bisogno di averlo chiuso in un <span /> ma UiBinder mi dà solo <div />. Per esempio. <g:HTMLPanel /> => <div />. HorizonPanel, FlowPanel, VerticalPanel anche dare solo <div />.

Se uno sa una soluzione?

È stato utile?

Soluzione

Prova questo:

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

Altri suggerimenti

È possibile continuare a utilizzare un <div> ma basta aggiungere display: inline alla sua CSS, che lo renderà visualizzare come se si trattasse di un <span>.

Modifica: posto fisso alla fine dove ho detto 'div' ma dire 'arco'

.

Per quanto riguarda la risposta di cui sopra di Robert (scusate non riesco a capire come a commentare che direttamente)

Questo non funziona out of the box, come i widget non possono essere inseriti all'interno di semplice HTML (il compilatore vi darà "l'errore: trovato widget nel contesto html"). Ma c'è una soluzione semplice:

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

Un'altra cosa utile da ricordare è InlineHTML e InlineLabel widgets in grado di contenere HTML arbitrario o solo testo, rispettivamente, in un

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top