javascript - AngularJS 1.x NgTagsInput 显示消息

标签 javascript angularjs ng-tags-input

我有使用 AngularJS 和 NGTagsInput 的代码。 我在自动完成中使用过滤器,您可以按“Enter”添加新的项目,但我想向用户显示此消息。如果自动完成中没有结果,则显示消息:“未找到结果。按 Enter 键添加” 我尝试在 Filter 中放入 Else 。但不起作用,因为他检查了每一个字母。

      $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

现在谢谢你了! =)

最佳答案

您只需要检查是否有返回的项目匹配,换句话说,只需检查使用该查询过滤的数组是否有一个项目。如果没有匹配的项目,则意味着没有数据: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

关于javascript - AngularJS 1.x NgTagsInput 显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888716/

相关文章:

javascript - 如何动态分配最大标签值?

angularjs - ngTagsInput 上的必需项不起作用

javascript - JavaScript 中的对象转换

没有 jquery/settimeout/setinterval 的 JavaScript 动画

javascript - (angularJS) 让 ng-click 在 ng-repeat 上打开链接

javascript - 如何使用 Angular.JS 在下拉列表中绑定(bind)选项的值和文本

angularjs - Protractor:如何测试使用 ngTagsInput 构建的元素?

javascript - fs.open 无法在 Nodejs 中打开所需的文件

javascript - 如何在 JavaScript 中使用变量作为对象初始值设定项内的属性键?

javascript - 在服务中更改参数后的 Angular 渲染 View