Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Close the last accordion item when clicked on it in react-accessible-accordion

I have a basic FAQ component in React. My problem is when I open an accordion item, I cannot close it again when I click on it. The only way I can close the accordion is to click another question. But I also want to close it when I clicked on the question. Here is my code:

import React from "react";
import {
  Accordion,
  AccordionItem,
  AccordionItemHeading,
  AccordionItemButton,
  AccordionItemPanel,
} from "react-accessible-accordion";

import "react-accessible-accordion/dist/fancy-example.css";

export default function FAQ() {
  return (
    <>
      <Accordion>
        <AccordionItem>
          <AccordionItemHeading>
            <AccordionItemButton>Question 1</AccordionItemButton>
          </AccordionItemHeading>
          <AccordionItemPanel>
            <p>
              Exercitation in fugiat est ut ad ea cupidatat ut in cupidatat
              occaecat ut occaecat consequat est minim minim esse tempor laborum
              consequat esse adipisicing eu reprehenderit enim.
            </p>
          </AccordionItemPanel>
        </AccordionItem>
        <AccordionItem>
          <AccordionItemHeading>
            <AccordionItemButton>Question 2</AccordionItemButton>
          </AccordionItemHeading>
          <AccordionItemPanel>
            <p>
              Exercitation in fugiat est ut ad ea cupidatat ut in cupidatat
              occaecat ut occaecat consequat est minim minim esse tempor laborum
              consequat esse adipisicing eu reprehenderit enim.
            </p>
          </AccordionItemPanel>
        </AccordionItem>
      </Accordion>
    </>
  );
}

1 Answers

You need to provide a boolean prop allowZeroExpanded to the Accordion.

 <Accordion allowZeroExpanded>
... 
 </Accordion>

It will let you close the last one which would otherwise remain always opened. See this official demo.

like image 158
Ajeet Shah Avatar answered Oct 31 '25 06:10

Ajeet Shah