在某些情况下,停止Angular UI bootstrap下拉关闭?

Tri*_*ame 4 javascript event-bubbling angularjs angular-ui-bootstrap

我有一个包含标签和按钮的下拉列表.我希望能够在没有下拉关闭的情况下单击选项卡,但如果我单击一个按钮,它将关闭.

我使用$ event.stopPropagation()来停止关闭,但显然这会阻止关闭它的按钮.

有没有办法做到这一点?

小智 10

默认情况下,如果单击任何元素,下拉列表将自动关闭,您可以通过设置auto-close选项来更改此行为,如下所示:

always - (默认)在单击任何元素时自动关闭下拉列表.

outsideClick - 仅在用户单击下拉列表外的任何元素时自动关闭下拉列表.

disabled - 禁用自动关闭.然后,您可以使用手动控制下拉菜单的打开/关闭状态is-open.请注意,如果单击切换按钮,按下esc键或打开另一个下拉列表,下拉列表仍将关闭.

这是一个样本:Plunker

    <div class="btn-group" dropdown auto-close="disabled">
      <button type="button" class="btn btn-danger">Action</button>
      <button type="button" class="btn btn-danger dropdown-toggle" dropdown-toggle>
        <span class="caret"></span>
        <span class="sr-only">Split button!</span>
      </button>
      <ul class="dropdown-menu" role="menu">
        <li><a href="#">Action</a></li>
        <li><a href="#">Another action</a></li>
        <li><a href="#">Something else here</a></li>
        <li class="divider"></li>
        <li><a href="#">Separated link</a></li>
      </ul>
    </div>
Run Code Online (Sandbox Code Playgroud)