Как применить оба фильтра: $ select.search и limitTo: $ select.infiniteCurrentLimit к одному и тому же полю ui-select? - PullRequest
2 голосов
/ 11 октября 2019

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

<ui-select-choices 
    infinite-scroll="$select.infiniteStepIncrement()"
    infinite-scroll-distance="2"
    infinite-step="2"
    current-limit="10"
    all-options="app.bigList"
    repeat="option.id as option in app.bigList | limitTo: $select.infiniteCurrentLimit">
    <span ng-bind-html="option.value"></span>
</ui-select-choices>

Поэтому я решил реализовать фильтр: $ select: поиск по нему. Он фильтрует параметры, но отменяет прокручиваемые функции.

<ui-select-choices 
    infinite-scroll="$select.infiniteStepIncrement()"
    infinite-scroll-distance="2"
    infinite-step="2"
    current-limit="10"
    all-options="app.bigList"
    repeat="option.id as option in app.bigList | filter: $select.search | limitTo: $select.infiniteCurrentLimit">
    <span ng-bind-html="option.value"></span>
</ui-select-choices>

Могу ли я что-нибудь сделать, чтобы они могли работать вместе?

1 Ответ

0 голосов
/ 11 октября 2019

Нашел решение после множества поисков и проб и ошибок. Я просто сгруппировал app.bigList и filter, чтобы он возвращался как уже отфильтрованный список для работы с limitTo. Вид работ, таких как PEMDAS.

repeat="option.id as option in (app.bigList | filter: { value: $select.search }) | limitTo: $select.infiniteCurrentLimit">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...