angular语言 - ui select2在与twitter-bootstrap混合使用angular时不起作用



我在同一个web应用程序中使用angular-ui和bootstrap,当尝试使用ui-select2组件时,我遇到了一个问题:除了在下拉列表中选择一个元素时,它没有显示在组件中,它显示为空,尽管ng-model相关变量被正确更新。如果我从主页中删除bootstrap.js文件,这种奇怪的行为就会消失。有没有人同时使用过angular-js和bootstrap和/或谁知道任何调整来申请让它们一起工作?

更新:

ui-select2组件位于输入追加的div中,只需删除div即可解决问题。我在这里创建了一个Angular-ui ui-select2原始沙盒演示的分支。您可以转到"Version 2"示例,并检查选择列表中的值是否正确地更新了模型,但没有更新输入元素。

底线是,您不能将input-append原生地与Select2一起使用。你放入HTML中的输入实际上是隐藏的,而Select2注入了额外的DOM元素(div、列表和输入),这些元素都将被隐藏/显示,并且都有自己的CSS。

你遇到的问题是由于Bootstrap和Select2之间的CSS冲突。

你应该考虑A:不使用input-append, B:重写或调整CSS来取消隐藏相关元素,C:使用提前输入或其他一些与Bootstrap的CSS很好的解决方案。

你可以查看AngularUI Bootstrap Project,或者查看这个Plunker/Gist,它向你展示了如何使用AngularUI Passthrough指令来运行Bootstrap指令。

最新更新