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