angularJS + UI bootstrap typeahead: filter:$viewValue не работает

Мне не удается заставить filter:$viewValue работать на входе с опережающим вводом. Я получаю весь список, отображаемый с выделенными введенными символами. Я ожидаю отфильтрованный список в зависимости от введенных символов.

Вот плункер: http://plnkr.co/edit/X3C0fP52ZTi55LJtXfnu?p=preview

В моем реальном проекте мне нужно применить два фильтра, как показано ниже.

<input autocomplete="off" type="text" placeholder="Selected Criteria"     ng-model="MgtCtrl.editActionData.selectedCriteria" typeahead='criteria as criteria.name for criteria in MgtCtrl.criteriaList | criteriaByApplication:MgtCtrl.getTriggerApplication() | filter:$viewValue | orderBy:"name"'>

Может ли кто-нибудь помочь мне?

С уважением, Агнес.


person user3181983    schedule 23.03.2015    source источник
comment
В настоящее время есть несколько открытых тикетов относительно шрифта с Angular 1.3. Вы можете проверить их доску: github.com/angular-ui/bootstrap/ этапы/0.13.0   -  person Brian Lewis    schedule 23.03.2015


Ответы (1)


Если ваш элемент коллекции является объектом, вам нужно указать, какое свойство должен учитывать фильтр.

В вашем примере фильтр будет выглядеть так:

| filter:{'name':$viewValue}

Поскольку вы отображаете свойство имени, это может быть имя, по которому вы хотите отфильтровать, но я могу ошибаться. Так что вам нужно адекватно его с вашим контекстом.

Ссылки: https://docs.angularjs.org/api/ng/filter/filter

person Felipe Zigmundo    schedule 23.03.2015