ng-tags-input无法正常工作

时间:2016-04-09 13:08:20

标签: angularjs autocomplete ng-tags-input

我在我的角度项目中使用ng-Input-tags。但是当我搜索关键字时,我的自动完成功能没有得到搜索结果的更新。我检查了我的方法,它返回了正确的结果,但它们没有出现在自动完成的下拉列表中。

这是我的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 个答案:

答案 0 :(得分:1)

自动完成的源代码正在等待一个承诺,所以你必须使用$ q。

  let result: Array<any> = list.filter(
  (elt: any) => { return elt[property].toLowerCase().indexOf(query.toLowerCase()) !== -1; });
  deferred.resolve(result);
  return deferred.promise;