2016-06-09 1 views
0

사용자가 입력 한 제안을 표시하기 위해 각도 재료 자동 완성 기능을 사용하고 있습니다. 사용자 유형으로 API 호출을 수행하고 데이터를 표시합니다. 이제 어떤 경우에는 결과가 엄청나고 500-1000 정도이므로 DOM이 응답을 멈 춥니 다.각도 재료의 자동 완성으로 표시되는 제안 수를 어떻게 제한 할 수 있습니까?

나는이 제안을 특정 값으로 제한하고 스크롤을 늘릴 수있는 방법을 찾고있다.

ng-repeat에서 사용하는 것처럼 limitTo를 사용할 수 있는지 확인했지만 작동하지 않았습니다. md-item을 ng-repeat로 바꾸어도 작동하지 않습니다.

Google이이 컴퓨터를 유용하게 사용하지는 않았지만이 주소가 https://github.com/angular/material/issues/1917 인 것으로 나타났습니다.

누구나이 방법을 제안 할 수 있습니까?

내 HTML :

<md-autocomplete class="flex corridor_popup_autocomplete" md-no-cache="true" md-selected-item="corridor.delivery" md-item-text="item.name" md-search-text="deliverySearchText" md-items="item in querySearch(deliverySearchText)" md-floating-label="Delivery location search"> 
       <md-item-template> 
        <span><span class="search-result-type">{{item.type}}</span><span md-highlight-text="deliverySearchText">{{item.name}}{{item.code?' ('+ item.code +')':''}}</span></span> 
       </md-item-template> <md-not-found>No matches found. </md-not-found> 
      </md-autocomplete> 
+0

당신이 HTML을 게시 할 수 있습니까? 여기에는 각도 함수가 많이 있습니다. –

+0

@Itsik은 md-autocomplete가 익숙하다고 가정하고 HTML을 게시했습니다. –

답변

0

당신은 당신의 배열 결과에 '슬라이스 (0,20)를'사용할 수 있습니다

function querySearch(){ 
    var results = query ? $scope.enqueteurs.filter(createFilterFor(query, 'enqueteurs')) : $scope.enqueteurs, deferred; 
    results = results.slice(0, 2); 

    deferred = $q.defer(); 
    deferred.resolve(results); 

    return deferred.promise; 
} 
관련 문제