I have the following problem. In widgetFilters array (length===3) i want to show the numbers of selected items in the header of the Filter.
const [selectedFilters, setSelectedFilters] = useState([]);
[![enter image description here][1]][1]
In code snipet below i map through all the widgetFilter array and making 3 Accordion with the headline the name typeName of filter and then the options that filter contains e.g.
<Stack>
{widgetFilters.map((filter) => (
<FilterWidgetAccordion
key={filter.id}
headline={filter.typeName}
list={filter.options}
selectedFilters={selectedFilters}
setSelectedFilters={setSelectedFilters}
/>
))}
</Stack>
[![enter image description here][2]][2]
FilterWidgetAccordion.js
<Fragment>
<Accordion>
<AccordionSummary aria-controls="panel1a-content" id="panel1a-header">
<StyledTypography>{headline}</StyledTypography>
</AccordionSummary>
<AccordionDetails>
{list?.map((filterItem) => {
return(
<Button
onClick={() => {
const list = [...selectedFilters];
const index = list.indexOf(filterItem);
index === -1 ? list.push(filterItem) : list.splice(index, 1);
setSelectedFilters(list);
}}
key={filterItem.value}
>
{filterItem.value}
</Button>
)})}
</AccordionDetails>
</Accordion>
</Fragment>
I want next to e.g "Product Category" title to add the number of selected buttons look the image below.