1

当我转到最后一行(第 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>
4

1 回答 1

0

通常,这不是 ui-scroll 问题,这是 Bootstrap 在 DOM 中托管它的下拉菜单的方式。如果 hoster 元素具有overflow-y: scroll,那么您将得到您在问题中描述的情况。作为angular-way解决方案,我建议对 Bootstrap 使用 angular-ui 包装器:https ://angular-ui.github.io/bootstrap/ 。

他们有Dropdown 指令,该指令具有允许您将 Bootstrap 下拉列表附加到任何元素的设置dropdown-append-todropdown-append-to-body这将解决问题。

于 2017-12-11T21:50:38.907 回答