Реагировать на выпадающий список с помощью ref и выбрать тег

Я пытаюсь сделать раскрывающийся список с тегом select и который срабатывает, когда я нажимаю на него, что происходит прямо сейчас, но я хочу сделать его активным, даже если щелчок мышью происходит в его заголовке, который находится в том же элементе div).

Так, например, если я нажму "Мой текст", откроется выпадающий список... для этого я использовал ссылки, но не повезло.

Спасибо за ваше время.

focusTextInput() {
        this.textInput.current.onfocus();
      }

render() {
        return (
            <div className='row abc-container'>
                <div className='abc-tag' >
                    <div className="text" onClick={this.focusTextInput}> My Text 
                        <select className="key-list"   ref={this.textInput}
                        value ={this.props.activeClient} >
                            <option >10</option>
                            <option >20</option>
                        </select>
                    </div>
                </div>
            </div>
        );
    }

1 ответ

Вы должны использовать state контролировать видимость выпадающего. Я обычно использую CSS, чтобы изменить отображение компонента. Как это:

state = { isShowDropdown: false }

<div 
    className="text" 
    onClick={() => this.setState({ isShowDropdown: !this.state.isShowDropdown })}
> 
    My Text 
    <select
        style={{ display: this.state.isShowDropdown ? "initial" : "none" }}
        className="key-list" ref={this.textInput}
        value ={this.props.activeClient} 
    >
        <option>10</option>
        <option>20</option>
    </select>
</div>

Надеюсь это поможет:)

Другие вопросы по тегам