2016-06-09 21 views
0

我正在使用Angular材料自動完成來顯示基於用戶輸入的建議。作爲用戶類型,我進行API調用並將數據顯示出來。現在在某些情況下,結果在數量上是巨大的,例如500-1000,因此DOM停止響應。我們如何限制角度材料中自動完成顯示的建議數量

我正在尋找一種方法,我可以將這些建議限制在某些特定的值,然後增加它們(說滾動)。

我檢查了是否可以像使用ng-repeat一樣使用limitTo,但它不起作用。 用ng-repeat替換md-items也不起作用。

我谷歌周圍,發現這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發佈我的HTML,假設md-autocomplete是熟悉的 –

回答

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; 
} 
相關問題