2016-05-23 3 views
1

Я использую угловой материал 0.11.2 и пытаюсь сделать что-то с виртуальным повторением.Данные фильтра виртуального повторного фильтра углового материала

HTML, часть кода является

<div layout="row" flex class="md-padding" style="padding-bottom:0;"> 
    <md-input-container> 
     <div layout="row"> 
      <div layout="column"> 
       <label>Arama</label> 
       <input ng-model="searchCriteria" style="width:300px !important;" type="text"> 
      </div> 
      <div layout="column" flex> 
       <div layout="row"> 
        <md-checkbox class="md-primary" ng-model="filterLocal" aria-label="Local" ng-change=""> 
         Merkez Birimler 
        </md-checkbox> 
       </div> 
      </div> 
     </div>       
    </md-input-container> 
</div> 
<md-content class="md-padding divInfiniteScroll" layout="column"> 
    <md-virtual-repeat-container id="distributionItemInfiniteScrollContainer" flex> 
     <div md-virtual-repeat="item in testData" md-on-demand class="repeated-item" flex> 
      {{item.Id}} 
     </div> 
    </md-virtual-repeat-container> 
</md-content> 

и Javascript часть;

$scope.testData = { 
    numLoaded_: 0, 
    toLoad_: 0, 
    items: [], 
    // Required. 
    getItemAtIndex: function(index) { 
     if (index > this.numLoaded_) { 
      this.fetchMoreItems_(index); 
      return null; 
     } 
     return this.items[index]; 
    }, 
    // Required. 
    // For infinite scroll behavior, we always return a slightly higher 
    // number than the previously loaded items. 
    getLength: function() { 
     return this.numLoaded_ + 10; 
    }, 
    fetchMoreItems_: function(index) { 
     if (this.toLoad_ < index) { 
      this.toLoad_ += 10; 

      var searchObject= {}; 
      searchObject.SearchCriteria = $scope.searchCriteria; 
      searchObject.Local = $scope.filterLocal; 

      var that = this; 
      $myService.search(searchObject, index).then(function complete(data) { 
       that.items = that.items.concat(data); 
       that.numLoaded_ = that.toLoad_; 
      }); 
     } 

    } 
}; 

Я хочу отфильтровать данные виртуальной прокрутки с помощью статуса флажков и данных из текстового элемента. Например, изначально виртуальный повтор имеет 1000 строк, включая локали и пульты, если я устанавливаю флажки, получает только локальные ресурсы из служб (удаленный db), если убрать галочку с обоих. Или напишите что-нибудь на входе, снова данные должны быть изменены. Но я не знаю, как это сделать. В документации не содержится никакой информации об этом, есть идеи? Пожалуйста, предоставьте мне некоторую информацию. Благодарю.

ответ

0

Я решил, что в функции fetchMoreItems_ я написал код ниже для первой строки метода завершения вызова службы, а затем прокрутка останавливается, когда данные заканчиваются.

if (!data || data.length == 0) { 
    return false; 
} 
Смежные вопросы