【发布时间】:2017-11-22 09:17:40
【问题描述】:
我创建了一个下拉菜单,并在用户单击菜单图标时打开菜单。我已经使用反应状态做到了这一点。当用户在菜单元素外点击时如何关闭下拉菜单?
下拉菜单
class DropDown extends Component {
constructor(props) {
super(props);
this.myFunction = this.myFunction.bind(this);
this.state = {
openmenu:false
}
};
myFunction(e) {
e.stopPropagation();
this.setState({
openmenu: !this.state.openmenu
})
}
render() {
return (
<div className="dropdown small_font" id="myDropdown" onMouseDown={this.onMouseDown} onMouseUp={this.onMouseUp}>
{/*<img src={settings} onClick={this.myFunction} className="user_settings_icon"></img>*/}
<i className="fa fa-cog user_settings_icon" style={{marginTop: '6px'}} onClick={this.myFunction}
aria-hidden="true"></i>
{this.state.openmenu?
<div className="dropdown-content" id="myDropdown2">
{/*<div id="myDropdown" className={this.props.actionDropDownCSS}>*/}
<a className="dropdown_item"><i className="fa fa-trash-o margin_right10px" aria-hidden="true"></i>Delete</a>
<a className="dropdown_item"><i className="fa fa-flag-o margin_right10px" aria-hidden="true"></i>Report</a>
<a className="dropdown_item"><i className="fa fa-minus-square-o margin_right10px" aria-hidden="true"></i>Unfriend</a>
<a className="dropdown_item"><i className="fa fa-sign-out margin_right10px" aria-hidden="true"></i>Leave group</a>
</div>:null
}
</div>
);
}
}
【问题讨论】:
-
你今天早上问的不是同一个问题吗?那是怎么回事??
-
我没有得到对我有帮助的答案@RajkumarSomasundaram
-
@CraZyDroiD 我问你对那个 qn 的见解。你没有回应;所以我继续前进..
标签: javascript jquery html reactjs drop-down-menu