2016-04-09 2 views
1

Я использую ng-Input-tags в своем угловом проекте. Но когда я ищу ключевое слово, мой автозаполнение не обновляется с результатами поиска. Я проверил свой метод, он возвращает правильные результаты, но они не отображаются в раскрывающемся списке автозаполнения.ng-tags-input не работает по желанию

Это мой HTML-код:

<tags-input ng-model="selectedDrivers" display-property="name" replace-spaces-with-dashes="false" add-from-autocomplete-only="true" placeholder="Search by driver name or driver id.." on-tag-added="emptyScope()"> <auto-complete source="searchDriver($query)" debounce-delay="500"></auto-complete> </tags-input>

И это мой JS код:

$scope.searchDriver = function(query) { $scope.searchedResults = []; for(var key in $scope.driversInfo){ if($scope.driversInfo[key].name.toLowerCase().indexOf(query.toLowerCase()) >= 0 || $scope.driversInfo[key].id.toString().indexOf(query.toString()) >= 0) $scope.searchedResults.push($scope.driversInfo[key]); } return $scope.searchedResults; };

Как-то suggestionList не получает обновления.

ответ

1

Источник atturbute автозаполнения ждет обещания, поэтому вам нужно использовать $ q.

let result: Array<any> = list.filter(
    (elt: any) => { return elt[property].toLowerCase().indexOf(query.toLowerCase()) !== -1; }); 
    deferred.resolve(result); 
    return deferred.promise; 
Смежные вопросы