Угловой Bootstrap Typeahead выпадающий

0

У меня есть компонент угловой ui-boostrap typeahead, который работает правильно, пока я не добавил одно требование ко всей функции. Я хочу вызвать backend для предложенных результатов сразу после того, как пользователь напечатает 3 буквы. Это сделано правильно, но моя проблема в том, что результаты видны только тогда, когда пользователи вводят 4-ю букву. Есть ли способ обойти это, заставляя его обновлять пользовательский интерфейс сразу после того, как пользователь вводит третью букву. Код:

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;
        };
Теги:
angular-ui-bootstrap
typeahead
angular-digest

1 ответ

0

вы можете использовать typeahead-min-length. см. https://angular-ui.github.io/bootstrap/#/typeahead

  • 0
    Спасибо за ответ, проблема больше в структуре AngualrJS, мне нужно заставить $ digest этой переменной, чтобы увидеть ее мгновенно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню