【问题标题】:Why bootstrap uib dropdown won't work with the select element为什么引导 uib 下拉菜单不适用于选择元素
【发布时间】:2018-08-08 05:20:22
【问题描述】:

当我在没有 uib-.. 指令的情况下运行我的 angularJS(1.4.9 版)应用程序时,选择可以工作,但会显示已打开的项目,并且按钮什么也不做。

它不会与下拉菜单组件集成。我见过的所有示例都使用无序列表和列表项结构,并且引导 UI 下拉菜单基于 ui 和 li 元素出现,这导致了一个明显的问题——为什么这些元素而不是 select 元素。

我想保留这个:ng-options="e for e in vm.plannedEmployees track by e" 据我所知,它有效,花了一周的时间才找到它(虽然我不明白它的复杂性)

<div class="btn-group" uib-dropdown>
    <button class="btn btn-primary" uib-dropdown-toggle>
        <span class="caret"></span>
    </button>
    <select ng-options="e for e in vm.plannedEmployees track by e" 
            multiple="multiple" ng-model="selectedEmployee" 
            ng-change="vm.employeeSelectClick(selectedEmployee)">
    </select>
</div>

【问题讨论】:

    标签: html angularjs-directive angular-ui-bootstrap


    【解决方案1】:

    我见过的所有示例都使用无序列表和列表项结构,并且引导 UI 下拉菜单基于 ui 和 li 元素出现,这导致了一个明显的问题 - 为什么选择这些元素而不是 select 元素。

    uib-bootstrap 项目旨在将引导插件移植到 Angular 指令中,引导样式通过使用 &lt;ul&gt;&lt;li&gt; 元素定义下拉菜单,并使用选择/定位这些元素的 CSS,uib 指令只是替换您将在非 Angular 页面中使用的 jQuery 代码。

    此外,在 UI 意义上,选择与下拉列表不同,在 Angular 意义上,选择是通常会公开 ngModel 的输入,uib-dropdown 不会公开 ngModel(随后,赢得'不允许您使用需要它的指令,例如 ngChange 或 ngModelOptions)。

    话虽如此,您可能希望将ui-select 视为替代方案。

    【讨论】:

    • 谢谢。如果文档中清楚地解释了该信息,那就太好了
    • 它在网站上说,就在依赖项下:This repository contains a set of native AngularJS directives based on Bootstrap's markup and CSS,暗示这些指令在引导程序定义的样式和标记层次结构下工作。另外,我个人不使用下拉菜单,我认为它很棒,uiSelect 更好:)
    猜你喜欢
    • 2016-02-16
    • 2018-03-31
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多