0
webapiを呼び出して自動完成しようとしていますが、正しいデータを返していますが、md-autocompleteは以前のwebapi呼び出しの結果を常に表示しています。最近のものユーザーが2文字を入力すると、オートコンプリートドロップダウンはロードされませんが、webapiが正常に結果を返すことがわかります。ユーザーが3番目の文字を入力すると、webapiが2文字で呼び出されたときの結果が表示されます。 vm.vendorResultsは、データがロードされる前に返されているようです。私は間違って何をしていますか?ありがとう!webapiで前回の結果を表示しているmd-autocomplete
<div ng-cloak="">
<label for="usr">Manufacturer</label>
<md-autocomplete ng-disabled="false"
md-no-cache="true"
md-selected-item="vm.selectedVendor"
md-search-text="vm.vendorSearchString"
md-items="vendor in vm.getVendorList2(vm.vendorSearchString)"
md-item-text="vendor.ve_name"
md-min-length="2"
placeholder="Select Manufacturer">
<md-item-template>
<span md-highlight-text="vm.vendorSearchString" md-highlight-flags="^i">{{vendor.ve_name}}</span>
</md-item-template>
</div>
vm.getVendorList2 = function (vendorSearchText) {
console.log('calling getvendorlist2');
var jsonCatalogInfo = vm.cataloginfoVL();
jsonCatalogInfo.ve_name = vendorSearchText;
console.log(vendorSearchText);
$.get(vm.memportalUrl + "securewebapi/GetVendorList/?jsonCatalogInfo=" + JSON.stringify(jsonCatalogInfo))
.then(function (result) {
console.log('success calling GetVendorList');
var jsonResult = JSON.parse(result);
vm.vendorResults = JSON.parse(jsonResult);
console.log(vm.vendorResults);
return vm.vendorResults;
});
}