Angular:如何制作一个能够在点击时关闭UI引导下拉列表的元素

jmo*_*789 5 javascript angularjs angular-ui-bootstrap

我正在使用Angular UI和bootstrap,我正在使用uib-dropdown.我已将自动关闭设置为外部点击,但我还想在下拉菜单中创建一个关闭它的按钮.我尝试添加uib-dropdown-toggle其中一个元素,但完全打破了下拉(它根本不会打开).如何创建关闭下拉菜单的元素?相关代码:

<div class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="btn-append-to-to-body">
  <ul class="list-unstyled">
    <!-- This is the button I want to close the dropdown -->
    <li><button type="button" class="btn btn-default">X</button></li>
    <li>...</li>
    <li>...</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

Nai*_*gel 7

只需使用is-open属性来控制和角度变量下拉列表的"开放性".然后,您可以以编程方式将此变量值设置false为关闭下拉列表.

以下是您的代码中的示例:

<div class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="btn-append-to-to-body" is-open="dropdownIsOpen">
  <ul class="list-unstyled">
    <!-- This is the button I want to close the dropdown -->
    <li><button type="button" class="btn btn-default" ng-click="dropdownIsOpen = false">X</button></li>
    <li>...</li>
    <li>...</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 没关系,让它工作,我有一些额外的 html,我忘了包含,我需要将 `is-open="dropdownIsOpen"` 添加到打开下拉菜单的按钮,而不是添加到 `uib-dropdown-menu` div。 (2认同)