Ngx-Bootstrap - accordion



Accordion is a control to display collapsible panels and it is used to display information in limited space.

AccordionComponent

Displays collapsible content panels for presenting information in a limited amount of space.

selector

  • accordion

Inputs

  • closeOthers − boolean, if true expanding one item will close all others

  • isAnimated − boolean, turn on/off animation, default: false

AccordionPanelComponent

AccordionHeading

Instead of using heading attribute on the accordion-group, you can use an accordion-heading attribute on any element inside of a group that will be used as group's header template.

selector

  • accordion-group, accordion-panel

Inputs

  • heading − string, Clickable text in accordion's group header

  • isDisabled − boolean, enables/disables accordion group

  • isOpen − boolean, Is accordion group open or closed. This property supports two-way binding

  • panelClass − string, Provides an ability to use Bootstrap's contextual panel classes (panel-primary, panel-success, panel-info, etc...).

Outputs

  • isOpenChange − Emits when the opened state changes

AccordionConfig

Configuration service, provides default values for the AccordionComponent.

Properties

  • closeOthers − boolean, Whether the other panels should be closed when a panel is opened. Default: false

  • isAnimated − boolean, turn on/off animation

Example

As we're going to use accordion, We've updated app.module.ts to use AccordionModule as in ngx-bootstrap Environment Setup chapter.

Update test.component.html to use the accordion.

test.component.html

<accordion> <accordion-group heading="Open By Default" [isOpen]="open"> <p>Open By Default</p> </accordion-group> <accordion-group heading="Disabled" [isDisabled]="disabled"> <p>Disabled</p> </accordion-group> <accordion-group heading="with isOpenChange" (isOpenChange)="log($event)"> <p>Open Event</p> </accordion-group> </accordion>

Update test.component.ts for corresponding variables and methods.

test.component.ts

import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-test', templateUrl: './test.component.html', styleUrls: ['./test.component.css'] }) export class TestComponent implements OnInit { open: boolean = true; disabled: boolean = true; constructor() { } ngOnInit(): void { } log(isOpened: boolean){ console.log(isOpened); } }

Build and Serve

Run the following command to start the angular server.

ng serve

Once server is up and running. Open http://localhost:4200 and verify the following output.

accordion
Advertisements