AngularJS 1.x NgTagsInput显示消息

时间:2017-07-03 14:56:34

标签: javascript angularjs ng-tags-input

我有使用AngularJS和NGTagsInput的代码。 我在AutoComplete中使用Filter,你可以按“Enter”添加新的itens,但我想向用户显示此消息。如果自动完成没有结果,请显示消息:“未找到结果。按Enter键添加” 我试过把一个Else放在Filter里面。但因为他检查每一个字母都不起作用。

      $scope.loadCountries = function($query) {
    return $http.get('countries.json', { cache: true}).then(function(response) {
      var countries = response.data;
      return countries.filter(function(country) {
        return country.name.toLowerCase().indexOf($query.toLowerCase()) != -1;
      });
    });
  };
});

这是一个Plnkr:PLUNKR

谢谢! =)

1 个答案:

答案 0 :(得分:1)

您只需要检查是否有匹配的返回项目,换句话说只是检查使用该查询过滤的数组是否有项目。如果没有匹配项,则表示没有数据:D

$scope.loadCountries = function($query) {
    return $http.get('countries.json', { cache: true}).then(function(response) {
      var countries = response.data;
      var filtered = countries.filter(function(country) {
        return country.name.toLowerCase().indexOf($query.toLowerCase()) != -1;
      });
      $scope.nodata = filtered.length === 0;
      return filtered;
    });
  };

http://plnkr.co/edit/fo1lExzjz0eJxloaljd0?p=preview