【问题标题】:Angular Bootstrap Typeahead dropdownAngular Bootstrap Typeahead 下拉菜单
【发布时间】:2016-07-28 17:41:58
【问题描述】:

我有一个 Angular ui-boostrap typeahead 组件可以正常工作,直到我向整个函数添加一个要求。我想在用户输入 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;
        };

【问题讨论】:

    标签: javascript angularjs angular-ui-bootstrap typeahead angularjs-digest


    【解决方案1】:

    您可以使用typeahead-min-length 属性。见https://angular-ui.github.io/bootstrap/#/typeahead

    【讨论】:

    • 感谢您的回答,问题更多在于 AngualrJS 结构,我需要强制该变量的 $digest 才能立即看到它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 2019-01-31
    • 2013-02-01
    相关资源
    最近更新 更多