未定义带有自动完成功能的角过滤器

Angular filter with autocomplete undefined

本文关键字:功能 过滤器 成功 未定义      更新时间:2023-09-26

我试图从自定义过滤器中获得一些结果,其中包含输入和dropwon。输入输入应该会启动过滤器,并显示过滤的结果。下面是函数:

$scope.filterText = "";
$scope.filterDropdown = function(textTyped) {
    var searchFilter = $scope.baseUrl + "&searchStr=";

    return $http.get(searchFilter + textTyped, {
        cache: true
    }).then(function(data) {
        $scope.results = data.data.data.data;
        return $scope.results;
    });
};

这里是html:

 <input type="text" data-ng-model-options="{ updateOn: 'default blur', debounce: {'default': 500, 'blur': 0} }"
       ng-model="item.search_value" placeholder="{{item.description}}" data-ng-change="filterDropdown(filterText)"/>
<div>
    <ul data-ng-repeat="descriptions in results.description">
        <li>{{descriptions}}</li>
    </ul>
</div>

实际上我只能看到整个json的列表!我的意思是,当我开始键入时,函数启动但文本I类型不起作用,结果类似于:

http://192.168.1.121:8280/test/searchStr=

,其中每次输入一个单词时都应该填充searchStr。例如,我想搜索:hello。我将按"h"

http://192.168.1.121:8280/test/searchStr=h
然后

http://192.168.1.121:8280/test/searchStr=he
http://192.168.1.121:8280/test/searchStr=hel
http://192.168.1.121:8280/test/searchStr=hell
http://192.168.1.121:8280/test/searchStr=hello

明白吗?我该如何修复?

在调用函数时需要传递ng-model name

data-ng-change="filterDropdown(item.search_value)
<input type="text" 
data-ng-model-options="{ updateOn: 'default blur', debounce: {'default': 500, 'blur': 0} }"
ng-model="item.search_value" placeholder="{{item.description}}" data-ng-change="filterDropdown(item.search_value)"/>