2015-05-11 23 views
5

Bir bootstrap modalım var ve içinde etiketleme için bir ui-select var. İşte benim örnek:İç ui-select tıklanabilir alanı 10px bir bootstrap modal

<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">&times;</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> 

Sorunum: Ben $('modal-invite').modal('show') ile modal açtığınızda, yer tutucu (ve tıklanabilir alan) büyüklüğü 10 piksel böyle şöyledir:

10px sized placeholder

Google Chrome inspector

Tıkladıktan sonra, doğru genişliği alır.
Model açılırken, ui-select yenileme boyutunu nasıl yapabilirim?

+0

, kalıcı açık callback'inde içine ui-select başlatma koymak için denediniz mi? Moi ilk açıldığında ui-select henüz başlatılmamış gibi görünüyor. –

+1

@DmitryS Tamam, belki de çözümü buldum. Denedim: '$ ('modal-invite'). Modal ('show')' ve sonra '$ scope. $ Apply();', ve bu işe yarıyor! – ProGM

+0

Muhtemelen, Dmitry gibi, ui-select sayfa yüklenirken henüz görüntülenmez. – eHx

cevap

2

Son olarak, ui seçim kaynaklarını denetlemeyi çözdüm.
Ui-select, giriş boyutunu, üst genişlikte $watch ile yeniden hesaplar gibi görünüyor.

Yani, bunu yenilemek amacıyla, böyle yaptı:

$('.modal-invite').modal('show'); 
$scope.$apply(); 
+0

Benzer bir sorun yaşıyorum. Bir tuşa basarak ui-select olan bir div çağırmak.

. Kapsamı ne zaman arayacağınızdan emin değilim. $ apply() –

0

ben simular sorunu vardı.

Bir kaynak dosyayı değiştirmenin iyi bir uygulama olmadığını biliyorum ve bir şekilde kendi kodumdan onu hedeflemek daha iyi olurdu - ancak şimdilik giriş alanını ayarlayan kaynak koddaki bir satırı yorumlayarak düzeltdim Etiketleri oluştururken 10px. Kaynak select.js dosyada hattı 831 yılında

, açıklama: ctrl.searchInput.css('width', '10px');

İlgili konular