Dropdown обрезается при использовании директивы ui-scroll

Когда я перейду к последнему ряду (№ 25) и нажму "Изменить", вы увидите, что выпадающий список обрезан. Можете ли вы выяснить, как решить эту проблему?

введите описание изображения здесь

https://plnkr.co/edit/22e9bo?p=preview

<div ui-scroll-viewport class="col-md-12" style="height: 500px; border: dashed 1px #ddd;">
  <table class="table table-bordered table-striped">
    <thead>
      <tr>
        <th>id</th>
        <th>source</th>
        <th>destination</th>
      </tr>
    </thead>
    <tbody>
      <tr ui-scroll="item in datasource">
        <td>{{item.id}} <a ng-click="showDropdown(item.id)">edit</a></td>
        <td>{{item.source}}</td>
        <td ng-if="dropdowns.active !== item.id">{{item.destination}}</td>
        <td ng-if="dropdowns.active === item.id">
          <div class="dropdown">
            <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
            {{item.destination}}
            <span class="caret"></span>
            </button>
            <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
              <li><a href="#">10.0.0.0</a></li>
              <li><a href="#">10.255.255.255</a></li>
              <li><a href="#">172.16.0.0</a></li>
              <li><a href="#">172.31.255.255</a></li>
              <li><a href="#">192.168.255.255</a></li>
              <li role="separator" class="divider"></li>
              <li><a href="#">192.168.0.0</a></li>
            </ul>
          </div>
        </td>
      </tr>
    </tbody>
  </table>
</div>

1 ответ

Как правило, это не проблема пользовательского интерфейса, а то, как Bootstrap размещает свое раскрывающееся меню в DOM. Если элемент хостера имеет overflow-y: scroll, тогда вы получите ситуацию, которую вы описали в своем вопросе. В качестве углового решения я бы предложил использовать оболочку angular-ui для Bootstrap: https://angular-ui.github.io/bootstrap/.

У них есть директива Dropdown, которая имеет dropdown-append-to а также dropdown-append-to-body настройки, которые позволяют добавить выпадающий список Bootstrap к любому элементу. Это решит проблему.

Другие вопросы по тегам