我已在angular js中集成了自动填充的tagsInput。
我已经包含了文件ng-tags-input.min,并在我的视图中添加了以下代码。
<tags-input ng-model="searchTerm"
display-property="Name"
add-from-autocomplete-only="true"
replace-spaces-with-dashes='false'
placeholder="Search option"
>
<auto-complete source="loadTags($query)" min-length='3'></auto-complete>
</tags-input>
还在控制器中添加了代码以获取自动完成的数据
$scope.loadTags = function (query) {
if (query != undefined) {
var info = data;
var items = ($filter('filter')(info, {Name: query}));
return items;
} else {
return data;
}
}
一切顺利。我收到自动完成的所有数据但选择选项后的问题我无法搜索输入按键。
答案 0 :(得分:1)
你能再次解释一下你的问题吗? 是否有问题通过按ENTER键选择搜索结果或自动完成搜索不起作用?
这里我给出了我们使用的示例代码。
<tags-input class="`tagsInput`" ng-model="ctrl.nameList"
display-property="fullName"
key-property="name"
min-length="1"
max-tags="{{ctrl.Count}"
min-tags="0"
add-from-autocomplete-only="true"
replace-spaces-with-dashes="false"
placeholder="Add"
enforce-max-tags>
<auto-complete source="ctrl.loadTags($query)"
min-length="3"
max-results-to-show={{ctrl.seletedListCount}}">
</auto-complete>
</tags-input>
并在你的loadTags函数中
self.loadTags = function (query) {
var deferred = $q.defer();
someService.loadUsers(query).then(function (data) {
if (data) {
self.seletedListCount = data ? data.length : 1000;
deferred.resolve(data);
}
else {
deferred.reject();
}
});
return deferred.promise;
};
在loadTags中,您可以调用该服务,并显示搜索结果。无需再次选择自动完成结果进行搜索,然后按Enter键