当在下拉组件外部单击时,我想关闭下拉菜单。
我怎么做?
在我添加的元素中mousedown,mouseup像这样:
mousedown
mouseup
onMouseDown={this.props.onMouseDown} onMouseUp={this.props.onMouseUp}
然后在父母中,我这样做:
componentDidMount: function () { window.addEventListener('mousedown', this.pageClick, false); }, pageClick: function (e) { if (this.mouseIsDownOnCalendar) { return; } this.setState({ showCal: false }); }, mouseDownHandler: function () { this.mouseIsDownOnCalendar = true; }, mouseUpHandler: function () { this.mouseIsDownOnCalendar = false; }
该showCal是一个布尔值,当true显示在我的情况下,日历和false隐藏它。
showCal
true
false