В библиотеке semantic_ui-react существует компонент Accordion. Есть несколько примеров, но я должен сделать вложенный аккордеон, который имеет структуру:
-accordion:
-sub_accordion1
-sub_accordion2
-sub_accordion3
Я видел пример вложенной гармошки с панелями, но я не хочу вставлять гармошки в панели. Я пробовал так:
export default class AccordionExampleStandard extends Component {
state = { activeIndex: 0 }
handleClick = (e, titleProps) => {
const { index } = titleProps
const { activeIndex } = this.state
const newIndex = activeIndex === index ? -1 : index
this.setState({ activeIndex: newIndex })
}
render() {
const { activeIndex } = this.state
return (
<Accordion>
<Accordion.Title active={activeIndex === 0} index={0} onClick={this.handleClick}>
<Icon name='dropdown' />
What is a dog?
</Accordion.Title>
<Accordion.Content active={activeIndex === 0}>
<Accordion.Title active={activeIndex === 1} index={1} onClick={this.handleClick}>
<Icon name='dropdown' />
What kinds of dogs are there?
</Accordion.Title>
<Accordion.Content active={activeIndex === 1}>
Content1
</Accordion.Content>
<Accordion.Title active={activeIndex === 2} index={2} onClick={this.handleClick}>
<Icon name='dropdown' />
How do you acquire a dog?
</Accordion.Title>
<Accordion.Content active={activeIndex === 2}>
Content2
</Accordion.Content>
<Accordion.Title active={activeIndex === 3} index={3} onClick={this.handleClick}>
<Icon name='dropdown' />
What kinds of dogs are there?
</Accordion.Title>
<Accordion.Content active={activeIndex === 3}>
Content3
</Accordion.Content>
</Accordion.Content>
</Accordion>
)
}
}
Он отображает компонент, но я могу свернуть только основной аккордеон и не могу свернуть его дочерние элементы. Как я могу выполнить эту функцию?