2017-04-13 98 views
3

我似乎只能在我的应用程序的一部分中使用Angular Bootstrap下拉菜单。我不确定为什么它在那里工作,而不是在其他地方。在我的模块中,我正在导入BsDropdownModule.forRoot(),就像它在工作的地方一样。我试过从他们的几个例子中粘贴HTML ...没有。我知道我以前在那里工作过,并且不记得改变与它有关的任何事情。Angular 2 Bootstrap(ngx-bootstrap/ng2-bootstrap)下拉不起作用

我没有收到任何错误,我不确定如何继续解决此问题。我注意到了ng2-bootstrap的问题,所以我升级到了ngx-bootstrap。同样的问题。

回答

1

我想出了这个问题。下拉菜单实际上是有效的。问题在于,由于某种原因,.dropdownMenu的y位置(顶部)超出了它所在的容器边界,无法看到它。我仍不确定为什么会发生这种情况,但至少我有一些工作要做。

1

我能够得到这个[email protected],但当我切换到4.0.0-alpha.6我无法让下拉工作。 不知道出了什么问题,但我不得不通过添加到我的提供者(我已经有BsDropdownModule.forRoot())....(不完全确定我最终破坏的细节)来将BsDropdownModule添加到上下文中。

但发现添加BsDropdownModule到我调用菜单的模块然后它工作。

+2

感谢您的支持 - 让我找到了解决方案。我仍然不完全清楚为什么这需要在根和相关功能模块中导入,但这会做到这一点(功能模块中没有“forRoot()”) – jb44

3

确保您的Angular版本和Bootstrap版本兼容。当我在ng2-bootstrap 1.6.x中使用Angular 4时发生了这种情况。 更好的是,而不是ng2-bootstrap,你应该使用ngx-bootstrap。要使下拉菜单正常工作,请添加容器属性:

<div class="btn-group" dropdown container="body"></div> 
+0

我不确定是否对于这个特定的问题,这是正确的答案,但是男人,你在为了在Ang4中实现typeahead 1.5天后是否拯救了我的生命,如果我只能做到这一点,我会赞赏你100次 – Steven

+0

如果你复制我的问题可以接受和upvote它: https://stackoverflow.com/questions/46112808/ngx-bootstrap-typeahead-not-showing-dropdown – Steven

+0

会做,很高兴它帮助! – devakone