AngularJS 1.x NgTagsInput 显示消息
AngularJS 1.x NgTagsInput show message
我使用 AngularJS 和 NGTagsInput 编写了这段代码。
我在自动完成中使用筛选器,您可以按 'Enter' 添加新项目,但我想向用户显示此消息。如果自动完成没有结果,显示消息:"No results found. Press Enter to Add"
我试着在 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;
});
};
我使用 AngularJS 和 NGTagsInput 编写了这段代码。 我在自动完成中使用筛选器,您可以按 'Enter' 添加新项目,但我想向用户显示此消息。如果自动完成没有结果,显示消息:"No results found. Press Enter to Add" 我试着在 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;
});
};