React Bootstrap Collapse
React Collapse - Bootstrap 4 & Material Design
Note: This documentation is for an older version of Bootstrap (v.4). A
newer version is available for Bootstrap 5. We recommend migrating to the latest version of our product - Material Design for
Bootstrap 5.
Go to docs v.5
Collapse is used to show and hide content. Buttons or anchors are used as triggers that are
mapped to specific elements you toggle. Collapsing an element will animate the height
from it’s
current value to 0
.
Basic example
Click the buttons below to show and hide another element:
You can use a link with the href
attribute, or a button.
import React, { Component } from "react";
import { MDBBtn, MDBCollapse } from "mdbreact";
class CollapsePage extends Component {
state = {
collapseID: ""
}
toggleCollapse = collapseID => () => {
this.setState(prevState => ({
collapseID: prevState.collapseID !== collapseID ? collapseID : ""
}));
}
render() {
return (
<>
<MDBBtn
color="primary"
href="!#"
onClick={this.toggleCollapse("basicCollapse")}
style={{ marginBottom: "1rem" }}
>
COLLAPSE LINK
</MDBBtn>
<MDBBtn
color="primary"
onClick={this.toggleCollapse("basicCollapse")}
style={{ marginBottom: "1rem" }}
>
COLLAPSE BUTTON
</MDBBtn>
<MDBCollapse id="basicCollapse" isOpen={this.state.collapseID}>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum
</p>
</MDBCollapse>
</>
);
}
}
export default CollapsePage;
Accordion MDB Pro component
Using the card component, you can extend the default collapse behavior to create an accordion.
import React, { Component } from "react";
import {
MDBContainer,
MDBCollapse,
MDBCard,
MDBCardBody,
MDBCollapseHeader
} from "mdbreact";
class CollapsePage extends Component {
state={
collapseID: "collapse3"
}
toggleCollapse = collapseID => () =>
this.setState(prevState => ({
collapseID: prevState.collapseID !== collapseID ? collapseID : ""
}));
render() {
const { collapseID } = this.state;
return (
<MDBContainer>
<MDBContainer className="mt-5">
<MDBCard className="mt-3">
<MDBCollapseHeader onClick={this.toggleCollapse("collapse1")}>
Collapsible Group Item #1
<i className={ collapseID==="collapse1" ? "fa fa-angle-down rotate-icon" : "fa fa-angle-down" } />
</MDBCollapseHeader>
<MDBCollapse id="collapse1" isOpen={collapseID}>
<MDBCardBody>
Pariatur cliche reprehenderit, enim eiusmod high life accusamus
terry richardson ad squid. 3 wolf moon officia aute, non
cupidatat skateboard dolor brunch. Food truck quinoa nesciunt
laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a
bird on it squid single-origin coffee nulla assumenda shoreditch
et. Nihil anim keffiyeh helvetica, craft beer labore wes
anderson cred nesciunt sapiente ea proident. Ad vegan excepteur
butcher vice lomo. Leggings occaecat craft beer farm-to-table,
raw denim aesthetic synth nesciunt you probably haven't
heard of them accusamus labore sustainable VHS.
</MDBCardBody>
</MDBCollapse>
</MDBCard>
<MDBCard>
<MDBCollapseHeader onClick={this.toggleCollapse("collapse2")}>
Collapsible Group Item #2
<i className={ collapseID==="collapse2" ? "fa fa-angle-down rotate-icon" : "fa fa-angle-down" } />
</MDBCollapseHeader>
<MDBCollapse id="collapse2" isOpen={collapseID}>
<MDBCardBody>
Anim pariatur cliche reprehenderit, enim eiusmod high life
accusamus terry richardson ad squid. 3 wolf moon officia aute,
non cupidatat skateboard dolor brunch. Food truck quinoa
nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua
put a bird on it squid single-origin coffee nulla assumenda
shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore
wes anderson cred nesciunt sapiente ea proident. Ad vegan
excepteur butcher vice lomo. Leggings occaecat craft beer
farm-to-table, raw denim aesthetic synth nesciunt you probably
haven't heard of them accusamus labore sustainable VHS.
</MDBCardBody>
</MDBCollapse>
</MDBCard>
<MDBCard>
<MDBCollapseHeader onClick={this.toggleCollapse("collapse3")}>
Collapsible Group Item #3
<i className={ collapseID==="collapse3" ? "fa fa-angle-down rotate-icon" : "fa fa-angle-down" } />
</MDBCollapseHeader>
<MDBCollapse id="collapse3" isOpen={collapseID}>
<MDBCardBody>
Anim pariatur cliche reprehenderit, enim eiusmod high life
accusamus terry richardson ad squid. 3 wolf moon officia aute,
non cupidatat skateboard dolor brunch. Food truck quinoa
nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua
put a bird on it squid single-origin coffee nulla assumenda
shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore
wes anderson cred nesciunt sapiente ea proident. Ad vegan
excepteur butcher vice lomo. Leggings occaecat craft beer
farm-to-table, raw denim aesthetic synth nesciunt you probably
haven't heard of them accusamus labore sustainable VHS.
</MDBCardBody>
</MDBCollapse>
</MDBCard>
</MDBContainer>
</MDBContainer>
);
}
}
export default CollapsePage;
React Collapse - API
In this section you will find advanced information about the Collapse component. You will find out which modules are required, what are the possibilities of configuring the component, and what events and methods you can use in working with it.
Collapse import statement
In order to use Collapse component make sure you have imported proper module first.
import { MDBCollapse, MDBCollapseHeader } from "mdbreact";
MDBCollapse
The table below shows the configuration options of the MDBCollapse component.
Name | Type | Default | Description | Example |
---|---|---|---|---|
className |
String |
|
Adds custom classes | <MDBCollapse className="myClass" ... /> |
isOpen |
Boolean | Defines is accordion opened or closed | <MDBCollapse isOpen={true} ... /> |
|
delay |
Object | Defines how many milliseconds the open/close event are delayed | <MDBCollapse delay={{show: 2000, hide: 4000}} ... /> |
|
onOpened |
function | Defines the function which fires when Accordion has opened | <MDBCollapse onOpened={() => console.log('hello')} ... /> |
|
onClosed |
function | Defines the function which fires when Accordion has closed | <MDBCollapse onClosed={() => console.log('hello')} ... /> |
MDBCollapseHeader
The table below shows the configuration options of the MDBCollapseHeader component.
Name | Type | Default | Description | Example |
---|---|---|---|---|
tag |
String | Specifies the custom tag for the MDBCollapseHeader component | <MDBCollapseHeader tag="div" ... /> |
|
className |
String |
|
Adds custom classes | <MDBCollapseHeader className="myClass" ... /> |