1
我使用角formly集成UI引导预输入查询通过服务的API。承诺已正确解决,但typeahead列表仅显示已过去的输入查询的数据。UI引导预输入承诺问题与角formly
简单的例子:I型: “伯尔尼”,服务火的四个请求:
- QUERY_TERM = B
- QUERY_TERM =成为
- QUERY_TERM =小檗碱
- QUERY_TERM =伯尔尼
的承诺得到适当和正确的顺序解决。但是使用来自query_term = Ber而不是最后一个query_term = Bern的数据提前输入列表建议。
有什么建议吗?
下面是详细代码:
服务:
var srv = {
getName: function (query_term) {},
};
srv.getName = function (query_term) {
return $http.get(srv._baseUrl + '/locating/api/autocomplete?query_term=' + query_term)
.then(function(res) {
return res.data;
}).catch(function (err) {
console.log(err);
});
};
return {
getName: function (query_term) {
return srv.getName(query_term);
}
};
(formly)控制器:
{
key: '_name',
type: 'autocompleteNoWildcard',
templateOptions: {
options: [],
onChange: function ($viewValue, $scope) {
if (typeof $viewValue != 'undefined') {
return $scope.templateOptions.options = locationService.getName($viewValue);
};
}
}
},
HTML模板:
formlyConfig.setType({
name: 'autocompleteNoWildcard',
template: '<input type="text" autocomplete="off" ng-model="model._name" uib-typeahead="item.label for item in to.options" typeahead-no-results="noResults" class="form-control">',
wrapper: ['bootstrapLabel', 'bootstrapHasError'],
});
你是说'onChange'处理程序正在触发,但typeahead选项没有得到更新? – icfantv
他们得到上述查询的更新而是数据,正如我上面描述。 – kOssi
因此,传入'onChange'处理程序的数据不正确?因为这是你在'templateOptions.options'上设置的数据。 – icfantv