2017-04-13 125 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