Фильтр Angularjs не работает в ng-repeat - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь использовать фильтр внутри ng-repeat для фильтрации отображаемых записей на основе значения флажка.Внутри ng-repeat я отображаю набор записей с другим флажком.Если я выберу флажок сверху, то в таблице должны отображаться только записи, для которых установлен флажок.

Я попытался отладить значение для {{trail ['filterValue']}}, и оно возвращает {"selected": true} .Это именно то, что я хочу, так как я хочу, чтобы ng-repeat отображало только те записи, для которых установлено значение true.

ng- repeat, где я использовал фильтр:

<tbody class="with-trailors" ng-repeat="title in trail.listTitlesWrap | filter: trail['filterValue']  | orderBy:['-fromParent','usReleaseDateAsDate'] ">

Нижеметод, который я написал, чтобы установить значение для переменной filterValue.

$scope.showSelectedTitles = function(trail){
      if(trail.bShowSelected == false)
          trail.filterValue = {};
      else
      trail.filterValue = {selected : true};
}

А вот код для флажка, который используется для переключения между выбранными и всеми записями.

<span class="selectText">View Selected Target Titles Only </span>
 <input type="checkbox" id="chkBox" ng-model="trail.bShowSelected" ng-change="showSelectedTitles(trail)"/>
 <label for="chkBox" style="margin-bottom: -7px;">
       <span class="check"></span>
 </label>

При установке флажка он не обновляет существующий список записей, то есть фильтр не применяется.У меня очень ограниченные знания angularjs, и я уже много пытался отлаживать.

Может кто-нибудь помочь мне понять, что пропало и почему фильтр просто не применяется?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...