How to expand all mui accordion in react js?

Hi Friends 👋,

Welcome To aGuideHub!

To expand all mui accordion in React js, you can use expand attribute of the accordion component and when you will pass true on it will expand all mui accordion in react js.

Today, I am going to show you, How expand all mui accordion in react js.

Installation

Install the following packages to use mui accordion in react js.

npm

npm install @mui/material @emotion/react @emotion/styled

yarn

yarn add @mui/material @emotion/react @emotion/styled

Table of contents

  • Install MUI and create a new React app.
  • Import Material-UI accordion.
  • Define State and Event Handlers.

Step 1: Install MUI and create a new React app.

First you have to install the React project. You should use create-react-app command to create a new React project.

npx create-react-app my-app
cd my-app
npm start

Step 2: Import Material-UI accordion.

After installing MUI, you have to import your React component. To do this, add the following line to the top of your component file.

import React, { useState } from 'react';
import { Accordion, AccordionSummary, AccordionDetails, Typography, Button } from '@mui/material';
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';

Step 3: Define State and Event Handlers.

The useState hook is used to make the state variable expanded and its corresponding setter function set expanded.

const App = () => {
  const [expanded, setExpanded] = useState(false);

  const handleExpandAll = () => {
    setExpanded(!expanded);
};
}

MUI material expand all mui accordion example.

The below code is an example, to make border on mui in accordion, you need to import accordion Component. The handleExpandAll function is responsible for toggling the expanded state variable.

App.js

import React, { useState } from 'react';
import { Accordion, AccordionSummary, AccordionDetails, Typography, Button } from '@mui/material';
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';

const App = () => {
  const [expanded, setExpanded] = useState(false);

  const handleExpandAll = () => {
    setExpanded(!expanded);
  };

  return (
    <div>
      <Button variant="contained" color="primary" onClick={handleExpandAll} sx={{marginBottom: '50px'}}>
        {expanded ? 'Collapse All' : 'Expand All'}
      </Button>
      <Accordion expanded={expanded}>
        <AccordionSummary expandIcon={<ExpandMoreIcon />}>
          <Typography>Accordion Header 1</Typography>
        </AccordionSummary>
        <AccordionDetails>
          <Typography>Accordion Content 1</Typography>
        </AccordionDetails>
      </Accordion>

      <Accordion expanded={expanded}>
        <AccordionSummary expandIcon={<ExpandMoreIcon />}>
          <Typography>Accordion Header 2</Typography>
        </AccordionSummary>
        <AccordionDetails>
          <Typography>Accordion Content 2</Typography>
        </AccordionDetails>
      </Accordion>

      <Accordion expanded={expanded}>
        <AccordionSummary expandIcon={<ExpandMoreIcon />}>
          <Typography>Accordion Header 3</Typography>
        </AccordionSummary>
        <AccordionDetails>
          <Typography>Accordion Content 3</Typography>
        </AccordionDetails>
      </Accordion>
    </div>
  );
};

export default App;

In the above code example, I have used the @mui/material component and made border on mui accordion in react js.

Check the output of the above code example.

React, expand-all-mui-accordion

Here, we are provided code sandbox links for the above program expand all mui accordion in react js. Then you can use whenever you want and do the changes as per your requirements.

Try it Yourself

All the best 👍

Premium Content

You can get all the below premium content directly in your mail when you subscribe us

Books

Interview Questions

Soon You will get CSS, JavaScript, React Js, and TypeScript So Subscribe to it.

Portfolio Template

View | Get Source Code

Cheat Sheets

Cheat Sheets Books are basically Important useful notes which we use in our day-to-day life.

Related Posts