如何将 Bootstrap Accordion 添加到 Angular 应用程序

use*_*788 4 accordion twitter-bootstrap angular

我正在尝试将 Bootstrap Accordion 添加到下面的 Angular 应用程序中:

<div class="accordion" id="accordionExample">
    <div class="card">
        <div class="card-header" id="headingOne">
            <h5 class="mb-0">
                <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
                    Collapsible Group Item #1
                </button>
            </h5>
        </div>

        <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
            <div class="card-body">
                Anim
            </div>
        </div>
    </div>

    <div class="card">
        <div class="card-header" id="headingTwo">
            <h5 class="mb-0">
                <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
                    Collapsible Group Item #2
                </button>
            </h5>
        </div>
        <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionExample">
            <div class="card-body">
            Anim
            </div>
        </div>
    </div>

    <div class="card">
        <div class="card-header" id="headingThree">
            <h5 class="mb-0">
                <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
                    Collapsible Group Item #
                </button>
            </h5>
        </div>
        <div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionExample">
            <div class="card-body">
                Anim
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我在构建之前运行了以下 NPM 安装:

npm 我引导

npm ngx-bootstrap

但是当我点击其中一个手风琴标题时,什么也没有发生。有人可以告诉我我缺少什么设置吗?非常感谢!

adi*_*ii4 6

您正在使用引导程序的“普通”版本。

  1. 确保您已将引导程序样式添加到您的全局styles.cssstyle.scss文件中的应用程序:

    CSS 版本

    @import '~bootstrap/dist/css/bootstrap.min.css';

    SCSS 版本

    @import "~bootstrap/scss/bootstrap";

  2. AccordionModulefrom导入ngx-bootstrap到您的AppModule.

    import { AccordionModule } from 'ngx-bootstrap/accordion';
    
    @NgModule({
      imports: [AccordionModule.forRoot(),...]
    })
    export class AppModule{}
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用ngx-bootstrap非“普通”html 版本中可用的组件:

    <accordion>
      <accordion-group heading="Static Header">
        This content is straight in the template.
      </accordion-group>
      <accordion-group heading="Another group">
        <p>Some content</p>
      </accordion-group>
      <accordion-group heading="Another group">
        <p>Some content</p>
      </accordion-group>
      <accordion-group heading="Another group">
        <p>Some content</p>
      </accordion-group>
    </accordion>
    
    Run Code Online (Sandbox Code Playgroud)

ngx-bootstrap 的安装说明

ngx-bootstrap 的 Accordion 组件

添加动画

要添加动画,您需要将属性添加isAnimated到父组件accordion

<accordion [isAnimated]="true">
<!-- ... -->
</accordion>
Run Code Online (Sandbox Code Playgroud)

只打开一个手风琴

要仅打开一个手风琴,您需要将属性添加closeOthers到父组件accordion

<accordion [isAnimated]="true" [closeOthers]="true">
<!-- ... -->
</accordion>
Run Code Online (Sandbox Code Playgroud)