Есть ли способ выбрать значение ui-select-search, если в select нет значения? - PullRequest
0 голосов
/ 01 марта 2019

Я использую ui-select вместо использования собственного выбора.Это проблема:

Пользователь может выбрать адрес pick_up в массиве местоположений.Если адреса нет, он может добавить новый адрес.Я хочу использовать поле ввода ui-select-search для фильтрации select и для этого добавления нового уникального адреса, если в ui-select-choices нет искомого термина.Есть ли способ, которым я могу это сделать?

Это мой код:

<ui-select
    ng-model="order.return_address"
    theme="bootstrap"
    tagging="order.return_address"
    tagging-label="false"
    reset-search-input="false"
    on-select="itemSelected($select.selected)"
    ng-required="isRequired"
    refresh="updateValue('pick_up', $select.search)"
    refresh-delay="900"
    name="pick-up-location">
    <ui-select-match>{{ $select.selected.title }}</ui-select-match>
    <ui-select-choices repeat="address in pickUpAddresses | filter: {title: $select.search}" refresh="refreshItems($select.search)" refresh-delay="700">
        {{ address.title }}
    </ui-select-choices>
</ui-select>

PS Я не хочу видеть адрес, который я пишу в поле ввода в массиве pickUpAddresses.

1 Ответ

0 голосов
/ 09 марта 2019

Есть способ заставить эту работу.Итак, мне нужно было расположить поле ввода на том же месте с помощью select и добавить к обоим прозрачный фон.Когда вы ищете, если вы выбираете что-то из ui-select-choices, проблем не будет.И когда вы выполняете поиск и если в ui-select-choices нет элемента, вы добавляете этот атрибут в ui-select reset-search-input="false", который сохранит значение ввода.Теперь вам просто нужно взять значение из ввода, и это значение будет $select.search, а затем у вас есть выбор и ввод в том же виде.Кроме того, вам нужно сбросить $select.search, если вы выбрали что-то, и $select.selected, если вы выбрали входной сигнал выбора.

...