5

在我的 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 { }

在 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>

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

在此处输入图像描述

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

4

2 回答 2

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>

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

于 2017-10-17T14:59:33.757 回答
3

tl;博士; 安装 Bootstrap 4 CSS。

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

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

于 2017-03-30T08:00:12.260 回答