ng-bootstrap ngbDropdown 在 angular 4 中不起作用

Phi*_*ecz 5 twitter-bootstrap angularjs angular-ui-bootstrap ng-bootstrap angular4

在我的 angular 4 应用程序中,来自 ng-bootstrap 的 ngbDropdown-Element 不起作用。

我已经为这种情况安装了以下 npm 模块:

"@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.22", "bootstrap": "4.0.0-alpha.6", "bootstrap-sass": "^3.3.7",

我的 app.module.ts 看起来像这样:

import { BrowserModule } from "@angular/platform-browser"
import { NgModule } from "@angular/core";
import { FormsModule } from "@angular/forms";
import { HttpModule } from "@angular/http";

import { AppComponent } from "./app.component";
import { FileitHeaderComponent } from "./fileit-header/fileit-header.component";
import {TranslateModule} from "ng2-translate";
import { CCACampaignComponent } from "./cca-campaign/cca-campaign.component";
import {NgbModule} from "@ng-bootstrap/ng-bootstrap";


@NgModule({
  declarations: [
    AppComponent,
    FileitHeaderComponent,
    CCACampaignComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    TranslateModule.forRoot(),
    NgbModule.forRoot()
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

在 CCA 活动中,我尝试使用 ng-bootstrap 的演示:

<div ngbDropdown class="d-inline-block">
    <button class="btn btn-outline-primary" id="dropdownMenu1" ngbDropdownToggle>Toggle dropdown</button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenu1">
            <button class="dropdown-item">Action - 1</button>
            <button class="dropdown-item">Another Action</button>
            <button class="dropdown-item">Something else is here</button>
        </div>
</div>
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这段代码的结果非常糟糕:

在此处输入图片说明

当我点击它时没有任何反应......

小智 6

@Philipp 只需对您的 HTML 代码稍作更改:

<div ngbDropdown class="d-inline-block">
    <button class="btn btn-outline-primary" id="dropdownMenu1" ngbDropdownToggle>Toggle dropdown</button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenu1" ngbDropdownMenu>
            <button class="dropdown-item">Action - 1</button>
            <button class="dropdown-item">Another Action</button>
            <button class="dropdown-item">Something else is here</button>
        </div>
</div>
Run Code Online (Sandbox Code Playgroud)

ngbDropdownMenu是添加到“下拉菜单”div 的属性。


pko*_*rce 3

太长;博士;安装 Bootstrap 4 CSS。

ng-bootstrap需要Bootstrap 4,如“入门”页面中所述。由于某种原因,您"bootstrap-sass": "^3.3.7"似乎正在混合 Bootstrap 版本,并且可能有效地使用 Bootstrap 3。

使用 Bootstrap 4 CSS,一切工作完美,如演示页面所示(您可以从中分叉):https ://ng-bootstrap.github.io/#/components/dropdown

  • @PhilippJanuskovecz 您使用的是 bootstrap 或 bootstrap-sass 中的 sass 文件吗?后者是 bootstrap 3(bootstrap 4 不再需要,因为 4 已经使用了 sass) (2认同)