0

私は、関数全体に1つの要件を追加するまで、正しく動作するAngular ui-boostrap先頭コンポーネントを持っています。ユーザーが3文字で入力した直後に、提案された結果のバックエンドを呼びたいと思います。それは正しく行われますが、私の問題は、ユーザーが4番目の文字を入力したときにのみ結果が表示されることです。 3番目の文字のユーザータイプの直後にUIを更新するように強制することで、これを回避する方法はありますか? コードは次のとおりです。角度ブートストラップタイプ先頭ドロップダウン

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

答えて

0

あなたがtypeahead-min-length属性を使用することができます。 https://angular-ui.github.io/bootstrap/#/typeahead

+0

答えてくれてありがとうございます。問題はAngualrJS構造にあります。私はその変数の$ digestを強制的に瞬時に見る必要があります –

関連する問題