0

我有一个角度ui-boostrap typeahead组件,它正在正常工作,直到我向整个函数添加一个要求。我想在用户输入3个字母后,为后面的结果调用建议的结果。它正确完成,但我的问题是,只有当用户输入第四个字母时,结果才可见。有没有什么办法可以绕过这个,只需在用户输入第三个字母后强迫它刷新UI。 代码是:Angular Bootstrap 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; 
     }; 

回答