如何在 ngx-bootstrap Accordion 中添加折叠图标

问题描述 投票:0回答:4

在我使用 ngx-bootstrapAngular 应用程序中,我想添加一个折叠图标来反映 accordion(折叠/展开)的状态,如下所示:

css angular twitter-bootstrap ngx-bootstrap ngx-bootstrap-accordion
4个回答
7
投票

这是一个对我有用的解决方案

<accordion-group [isOpen]="false" #myGroup>
  <button class="btn btn-light float-right">
    {{ myGroup?.isOpen ? 'Opened' : 'Closed' }}
    <i class="fas" [ngClass]="{'fa-caret-down': myGroup?.isOpen, 'fa-caret-up': !myGroup?.isOpen}"></i>
  </button>
</accordion-group>

6
投票

你基本上可以在 css 中做到这一点:

.accordion-toggle[aria-expanded="true"]:before {
    content: "\f107";
    font: normal normal normal 14px/1 FontAwesome;
}

.accordion-toggle[aria-expanded="false"]:before {
    content: '\f106';
    font: normal normal normal 14px/1 FontAwesome;
}

只需使用您最喜欢的图标的字体系列来设置之前选择器的样式...


3
投票

以下答案适用于

[email protected]
。还为想要使用与 FontAwesome 不同的东西的人解决了问题:

<!-- Please note that the #accordionGroupRef is scoped! -->
<accordion-group
    *ngFor="let number of [1,2,3,4];"
    [isOpen]="false"
    #accordionGroupRef
>

    <!-- Header -->
    <h5 class="m-0" accordion-heading>
        {{ accordionGroupRef.isOpen ? "OPEN" : "CLOSED"}}
        I am accordion {{number}}
        <span class="float-right"> I float all the way on the right!</span>
    </h5>    

    <!-- Content -->
    Accordion content
</accordion-group>

2
投票

您可以使用

accordion-group
输入
isOpen

HTML

<accordion-group [isOpen]="isContentOpen">
  <button class="btn btn-light float-right">
    <i *ngIf="isContentOpen" class="fas fa-caret-up">Open</i>
    <i *ngIf="!isContentOpen" class="fas fa-caret-down">Close</i>
  </button>
</accordion-group>

TS

isContentOpen: boolean = false;

我建议安装https://fontawesome.com/

© www.soinside.com 2019 - 2024. All rights reserved.