Ho un modal bootstrap e, al suo interno, ho una selezione ui per il tagging. Ecco il mio esempio:l'area selezionabile di ui-select inside è 10px un bootstrap modale
<div class="modal modal-invite">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ui-select multiple tagging tagging-label="" ng-model="email_list" theme="bootstrap" ng-disabled="disabled" on-select="" on-remove="" title="Insert your friends email here." >
<ui-select-match placeholder="Your friends email here...">{{$item}}</ui-select-match>
<ui-select-choices repeat="email in email_list | filter:$select.search">
{{email}}
</ui-select-choices>
</ui-select>
</div>
<div class="modal-footer">
<button class="btn btn-success">Invite</button>
</div>
</div>
</div>
</div>
Il mio problema è: quando apro il modal con $('modal-invite').modal('show')
, la dimensione del segnaposto (e l'area cliccabile) è di 10 pixel, in questo modo:
Dopo aver fatto clic, ottiene la larghezza corretta.
Come posso rendere ui-select aggiornare le dimensioni quando si apre la modale?
Hai provato a mettere l'inizializzazione ui-select in modal callback aperta? Sembra che quando modale viene aperto per la prima volta ui-select non è ancora inizializzato. –
@DmitryS Ok, forse ho trovato la soluzione. Ho provato: '$ ('modal-invite'). Modal ('show')' e poi '$ scope. $ Apply();', e questo sembra funzionare! – ProGM
Probabilmente perché, come ha detto Dmitry, la selezione ui non viene ancora visualizzata quando la pagina viene caricata. – eHx