Angularjs UI-выберите, чтобы захватить ключ только не значение в раскрывающемся живой поиск

Я фильтрую выпадающее меню, набирая поле и фиксируя ключ в моей модели. Работает нормально! Однако проблема в том, что я печатаю, выбор не сужается. в чем проблема?

захват ключа, но не живой поиск больше!

<div class="form-group" >
    <label translate="data.continent">
        my continents
    </label>
    <ui-select ng-model="myModel.continent" ng-change="continentSelect()" theme="bootstrap">
        <ui-select-match placeholder="Select in the list...">
            {{$select.selected.value}}
        </ui-select-match>
        <ui-select-choices repeat="r.key as r in data.continent.list track by $index | filter: {'key': $select.search}">
            <div ng-bind-html="r.value | highlight: $select.search"></div>
        </ui-select-choices>
    </ui-select>
</div>

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

живой поиск в порядке, но захватывает ключ и значение

<div class="form-group" >
    <label translate="data.continent">
        Continent
    </label>
    <ui-select ng-model="myModel.continent" ng-change="continentSelect()" theme="bootstrap">
        <ui-select-match placeholder="Select in the list...">
            {{$select.selected.value}}
        </ui-select-match>
        <ui-select-choices repeat="r in data.continent.list | filter: $select.search ">
            <div ng-bind-html="r.value | highlight: $select.search"></div>
        </ui-select-choices>
    </ui-select>
</div>

моя структура данных выглядит так:

"list" : [
        {"key" : "continent1", "value" : "Americas"},
        {"key" : "continent2", "value" : "Europe"},
        {"key" : "continent3", "value" : "Africa"}]

Конечная цель:

конечная цель - выполнить поиск в режиме реального времени и передать ключ, например, "continent1", ng-change="continentSelect()",

1 ответ

Решение

Замените ваш второй код следующим, просто добавив .key:

<ui-select-choices repeat="r.key as r in data.continent.list | filter: $select.search">
Другие вопросы по тегам