javascript - 使用 ref 和 select 标签对下拉菜单使用react

标签 javascript reactjs drop-down-menu react-redux

我正在尝试使用 select 标签创建一个下拉列表,当我点击它时会触发它,这正在发生,但我想让它可以点击,即使鼠标点击发生在同一个 div 中的标题上).

因此,例如,如果我点击“我的文本”,它应该打开下拉菜单...为此我使用了 refs 但没有运气。

感谢您的宝贵时间。

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>
        );
    }

最佳答案

您应该使用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>

希望这有帮助:)

关于javascript - 使用 ref 和 select 标签对下拉菜单使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50848760/

相关文章:

javascript - KineticJS afterFrame 不循环运行

javascript - Gatsby:事件监听器未在 React useEffects Hook 上卸载

javascript - 在选择标签而不是文本中显示值

jQuery 下拉菜单问题

asp.net - 从下拉列表中获取选定对象时出现问题

javascript - 如何使用 JQuery 更改 EJS 中的单个元素

javascript - 如何使用 list.js 从两个或多个列表中进行搜索

css - 垂直位置的 react-responsive-carousel control-dots

javascript - document.getElementById 不获取值。出了什么问题?

javascript - ReactJS 和 Node——错误 400 错误请求