@QnaTwitt

Как сделать такое выпадающее меню на React?

Подскажите как сделать такое выпадающее меню, с вложенным уровнем на React.
Что-то нечего не могу найти в интернете похожего...
Как сделать простой select с одним уровнем понятно.
А здесь нужно select который состоит из многих "аккордеонов", не пойму как такое сделать, в интернете нечего не нашёл похожего, подскажите пожалуйста как сделать или в какую сторону "копать"

6316f657e39e5666783854.jpeg
6316f65adc3c0308219640.jpeg
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 2
Natebash
@Natebash
React, Vue, Angular, Navite JS, Python / Node JS
Комментировать
MrYogurt
@MrYogurt
Мне как раз недавно пришлось сделать нечто похожее, если надо с нуля, то примерную идею накидал на классовом компоненте, адаптировать в функциональный можно без проблем:

class DropdownExample extends PureComponent {
    constructor (props) {
        super(props)
        this.state = {
            visible: false
        }
        this.textInput = React.createRef()
    }

    componentDidMount () {
        document.addEventListener('click', this.toggleAuthorsContainerVisibility)
    }

    componentWillUnmount () {
        document.removeEventListener('click', this.toggleAuthorsContainerVisibility)
    }

    render () {
        return (
            <>
                <input
                    ref={this.textInput}
                    placeholder={placeholder}
                    type="text"
                    maxLength="256"
                    value={inputData}
                    onChange={this.someHandler}
                />
                {this.state.visible && inputData && (
                    <div>
                        {someArray.map(item =>
                            <Accordeon key={item.value}>
                                {item.label}
                            </Accordeon>)}
                    </div>
                )}
            </>
        )
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы