Неправильная фильтрация списка, созданного с помощью ng-repeat (AngularJS)

0

У меня есть массив с районами и массивами с городами внутри каждого из них. Я создал список через bg-repeat:

 <div ng-repeat="district in districts | filter:search:startsWith" class="district">

      <h4 class="district-name">{{ district.district }}</h4>
      <a href="{{ district.link }}">Some info</a>

      <ul class="district-cities">

        <li ng-repeat="city in district.cities">
          {{ city }}
        </li>

      </ul>


    </div>

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

Здесь работает Plnkr. Когда вы пытаетесь нажимать буквы A, B or G все в порядке, но как только вы нажимаете букву Z, появляются два района, которые не начинаются с буквы Z, но содержат города, содержащие букву Z

Извините, может быть, элементарный вопрос, но как решить эту проблему?

Теги:
filtering
angularjs-ng-repeat
ng-repeat

1 ответ

1
Лучший ответ

Попробуй это:

    <input id="q" type="text" ng-model="search.district " />

а также

<ul search-list=".letter" model="search.district">
    <li class="letter" ng-repeat="letter in alphabet.letter">{{ letter }}</li>
</ul>

это будет означать, что фильтр действует только на свойство района вашего объекта. В противном случае угловые будут смотреть на все свойства.

ОБНОВИТЬ:

Для вашего второго списка вы хотите использовать search.district в качестве основного элемента поиска, например:

<div ng-repeat="district in districts | filter:search.district:startsWith" class="district">

Я обновил Plunk, чтобы включить второй список в синий цвет, который выполняется таким образом.

  • 0
    Вот обновленный Plunkr plnkr.co/edit/FCxG4H?p=preview
  • 0
    Сэр, спасибо за вашу помощь, но все равно не работает ... На вашем Plnkr попробуйте нажать "Z"
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню