我一直在反对这个问题。我意识到之前已经问到了SO,但我看到的问题都没有完全相同(要么它们与React无关,要么得到的答案都没有用)。
我的问题是我有一个带有嵌套文本输入的React-Bootstrap制作的下拉菜单。当我点击输入时,菜单会自动关闭。
根据一些答案,我已经尝试停止事件的传播,但是当我这样做时,我无法在输入字段上写任何内容。此外,stopImmediatePropagation和preventDefault都没有工作。
这是我在组件内部渲染时的下拉列表:
<ButtonGroup>
<DropdownButton className="filter-ddown1" id="filter-ddown1" title="Rango de Precio">
<MenuItem className="itemxx" href="#"><input className="minmax" onClick={this.dontClose} type="text" placeholder="Min" value={this.props.state.minPrice}></input><label> - </label><input className="minmax" type="text" placeholder="Max" value={this.props.state.maxPrice}></input></MenuItem>
</DropdownButton>
</ButtonGroup>
这是dontClose函数(它避免在输入字段上写任何东西):
dontClose:function(e){
e.preventDefault();
e.stopPropagation();
e.nativeEvent.stopImmediatePropagation();
}
如果你能提供帮助,我会提前感谢你。