0

클라이언트 측에서 결과를 필터링해야합니다. 즉, ajax 매개 변수를 전달하지 않고 결과를 필터링해야합니다. 그러나 나는 이것을 이해할 수 없다. 여기 내 JS입니다 :ngMaterial md-autocomplete에서 검색어를 필터링하는 방법은 무엇입니까?

angular.module('myapp', ['ngMaterial']).controller("autocompleteController", function ($http) {this.querySearch = function (query) { 
      return $http.get("https://jsonplaceholder.typicode.com/users") 
       .then(function (response) { 
//wild black magic stuff needed here 
        return response.data; 
       }) 
     } 
    }); 

내 HTML :

<md-autocomplete flex 
         md-select-on-match="true" 
         md-autofocus="true" 
         md-autoselect="true" 
         md-selected-item="item.name" 
         md-search-text="ctrl.searchText" 
         md-search-text-change="ctrl.querySearch(ctrl.searchText)" 
         md-items="item in ctrl.querySearch(ctrl.searchText)" 
         md-item-text="item.name" 
         md-delay="300" 
         md-floating-label="Nome do Paciente"> 
      <div layout="row" class="item" layout-align="start center"> 
       <span md-highlight-text="ctrl.searchText">{{item.name}}</span> 
      </div> 
     </md-autocomplete> 

그리고

답변

0

https://embed.plnkr.co/Kov5pgwqkv1ZyCCOIsCX/ 이름으로 데이터를 필터링 할 약속 내부에 다음과 같은 필터를 사용하여 필요한 경우 plunker

.then(function(response) { 
    var res = response.data.filter(function(obj) { 
     return obj.name.toLowerCase().indexOf(query) != -1; 
    }); 
    return res; 
}) 

Demo

+0

대단히 감사합니다! 이것은 일을했다! p.s : 나는 당신을 upvoted하지만 그것은 내가 초보자이기 때문에 공개하지 않을 것이라고 말했다 –

+0

prob 없습니다. 정답으로 표시하십시오. –

관련 문제