0

J'ai un composant angea ui-boostrap typeahead qui fonctionne correctement jusqu'à ce que j'ajoute une exigence à la fonction entière. Je veux appeler le backend pour les résultats suggérés juste après que l'utilisateur tape en 3 lettres. C'est fait correctement mais mon problème est que les résultats ne sont visibles que lorsque les utilisateurs tapent la 4ème lettre. Est-il possible de contourner cela, en le forçant à actualiser l'interface utilisateur juste après que l'utilisateur tape dans la 3ème lettre. Code de est:Bootstrap angulaire Typeahead dropdown

HTLM 
<input name="states" id="states" type="text" ng-model="vm.cityName" 
uib-typeahead="municipality as municipality.city + ' (' + municipality.name + ') '+municipality.zipCode for municipality in vm.getMunicipalitiesByCity($viewValue) | filter:$viewValue | limitTo:8" class="form-control" typeahead-on-select="vm.citySelected()" > 

JS Controller 
vm.getMunicipalitiesByCity = function (cityName) { 
      if (cityName != undefined && cityName.length == 3) { 
       CalculationEndpointService.municipalitiesByCity({cityName: cityName}, function (result) { 
        vm.municipalities = result.map(
         function (item) { 
          return item; 
         } 
        ); 
       }); 
      } 
      if(cityName.length<3){ 
       vm.municipalities=[""]; 
      } 
      return vm.municipalities; 
     }; 

Répondre

0

vous pouvez utiliser typeahead-min-length attribut.

+0

Merci pour la réponse, le problème est plus dans la structure AngualrJS, j'ai besoin de forcer le $ digérer de cette variable afin de le voir instantanément –