Когда элемент выбран, раскрывающийся список ui-select открывается за другими полями.

Я использую ui-select в приложении angularjs, которое повторяется для каждой строки в таблице (ng-repeat). Это код для моего интерфейса выбора.

<ui-select name="{{'selProperty' + $index}}" ng-model="thing.property" 
 theme="bootstrap" ng-required="true">
    <ui-select-match placeholder="PLACEHOLDER TEXT">
        {{$select.selected.displayName}}
    </ui-select-match>
    <ui-select-choices repeat="property in data.properties | filter: $select.search">
        {{property.displayName}}
    </ui-select-choices>
</ui-select>

У меня есть список вещей в моем объекте $ scope.data, и содержащая таблица использует ng-repeat="thing in data.things", В каждой строке таблицы есть поля, которые пользователь заполняет, чтобы задать свойства вещи. Раскрывающийся список позволяет пользователю назначить свойство объекта вещи.

Все отлично работает при первом использовании. Я получаю список свойств и могу ввести частичный поиск, чтобы отфильтровать список. Я выбираю один, проверяю вещь и вижу, что ее свойство правильно установлено. Проблема заключается в том, что когда я снова открываю раскрывающийся список после выбора значения, весь список отображается за другими полями ui-select в других строках таблицы. Я попробовал это на неповторяющейся странице, и это обнаружилось позади <input type="text"></input> коробка также.

Я безуспешно пытался настроить z-index на смешные цифры. Я скопировал исходный HTML до и после выбора значения и сравнил, но различий не было. Я действительно не понимаю, почему мой список отображается позади других элементов ввода на странице.

1 ответ

Пожалуйста, проверьте ссылку GitHub Issue ниже:

https://github.com/angular-ui/ui-select/issues/308

Решение состоит в том, чтобы добавить ниже CSS, посмотрите, работает ли он для вас.

   .ui-select-choices {
    position: fixed;
    top: auto;
    left: auto;
    width: inherit;
  }
Другие вопросы по тегам