Я создал компонент React для меню боковой панели. Я не хочу использовать для этой цели самонастраивающийся аккордеон. Я хочу создать список меню с переключателем «плюс-минус». В приведенном ниже коде, если открыты элементы списка в разделе «Технический анализ», он должен отображать «Технический анализ» -. Как я могу получить список, похожий на прилагаемый рисунок?
import React, {Fragment, useState} from "react";
import {Col, Collapse, Container, ListGroup, ListGroupItem, Row} from "react-bootstrap";
import {Link, useRouteMatch} from "react-router-dom";
import ListItem from "@material-ui/core/ListItem";
import List from "@material-ui/core/List";
const SidebarL = () => {
const [open, setOpen] = useState(false);
const [open1, setOpen1] = useState(false);
const [open2, setOpen2] = useState(false);
let {url} = useRouteMatch();
return (
<Container>
<Row>
<Col>
<div onClick={() => setOpen(!open)}
aria-controls="collapse-text"
aria-expanded={open}
>
<Link style={{textDecoration: "none", color: "black"}}>
<div>
Technical Analysis
</div>
</Link>
</div>
<Collapse in={open}>
<div id="collapse-text">
<ul className="list-unstyled border-left p-2 ml-2">
<li>
<Link to={`${url}/thedowtheory`}
style={{textDecoration: "none"}}
>
The Dow Theory
</Link>
</li>
<li>
<Link to={`${url}/charts`}
style={{textDecoration: "none"}}>
Chart & Chart Patterns
</Link>
</li>
<li>
<Link to={`${url}/trendlines`}
style={{textDecoration: "none"}}>
Trend & Trend Lines
</Link>
</li>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}>
Support & Resistance
</Link>
</li>
</ul>
</div>
</Collapse>
<hr className="mt-2 mb-2" />
<div onClick={() => setOpen1(!open1)}
aria-controls="collapse-text1"
aria-expanded={open1}
>
<Link style={{textDecoration: "none", color: "black"}}>
<div>Fundamental Analysis </div>
</Link>
</div>
<Collapse in={open1}>
<div id="collapse-text1" >
<ul className="list-unstyled border-left p-2 ml-2"
>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}
>
Link
</Link>
</li>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}
>
Link
</Link>
</li>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}
>
Link
</Link>
</li>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}
>
Link
</Link>
</li>
</ul>
</div>
</Collapse>
<hr className="mt-2 mb-2" />
<div onClick={() => setOpen2(!open2)}
aria-controls="collapse-text2"
aria-expanded={open2}
>
<Link style={{textDecoration: "none", color: "black"}}>
Elliot Wave Analysis
</Link>
</div>
<Collapse in={open2}>
<div id="collapse-text2" >
<ul className="list-unstyled border-left p-2 ml-2"
>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}
>
Link
</Link>
</li>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}
>
Link
</Link>
</li>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}
>
Link
</Link>
</li>
<li>
<Link to={`${url}/supportresistance`}
style={{textDecoration: "none"}}
>
Link
</Link>
</li>
</ul>
</div>
</Collapse>
</Col>
<Col xs={7} className="border-left">
Content
</Col>
<Col className="border-left">
SidebarR
</Col>
</Row>
</Container>
)
}
export default SidebarL