我正在使用react-bootstrap
将bootstrap
元素添加到我的应用程序中。我需要添加一个包含“标签”列表的下拉按钮,用户可以使用该列表标记其项目。与输入字段的下拉菜单
我的问题是添加一个输入字段,以便他们可以添加一个“自定义”标签。下面是它的外观目前(蓝色方块是复选框):
首先我想:
<Dropdown id="myDropdown">
<Dropdown.Toggle bsStyle="warning">Label as...</Dropdown.Toggle>
<Dropdown.Menu>
<li onSelect={...}>
<Checkbox onClick={...} checked={...} inline>Some label</Checkbox>
</li>
<li onSelect={...}>
<Checkbox onClick={...} checked={...} inline>Some other label</Checkbox>
</li>
<li><input /></li>
</Dropdown.Menu>
</Dropdown>
然而,这样当您单击input
元素关闭dropdown
。
因此,我试图对官方文档中显示的示例(搜索“Custom Dropdown Components”和查看代码)执行一个轻微的变化。这使我可以点击并键入input
,但现在当我点击元素外部时下拉不会关闭。
TL; DR
我如何能实现下拉,让我点击一个input
场当您单击菜单之外也关闭?
编辑:
添加生成的html我的第二个执行:
<div class="dropdown btn-group">
<button type="button" class="dropdown-toggle btn btn-warning"><i class="fa fa-check" aria-hidden="true"></i><!-- react-text: 153 --> <!-- /react-text --><!-- react-text: 154 -->Label as...<!-- /react-text --><!-- react-text: 155 --> <!-- /react-text --><span class="caret"></span></button>
<ul class="dropdown-menu">
<li><label class="checkbox-inline"><input type="checkbox" value="on"><span></span><!-- react-text: 162 --> Some label<!-- /react-text --></label></li>
<li><label class="checkbox-inline"><input type="checkbox" value="on"><span></span><!-- react-text: 167 --> Some other label<!-- /react-text --></label></li>
<li><label class="checkbox-inline"><input type="checkbox" value="on"><span></span><input type="text" value="" style="height: 17px;font-size: .9em;"></label></li>
<li role="separator" class="divider"></li>
<li role="presentation" class=""><a role="menuitem" tabindex="-1" href="#">Clear labels</a></li>
</ul>
</div>
你能粘贴什么编译的HTML结果是? –
@JoshuaTerrill,肯定的事情。对于我试过的两个实现中的哪一个? – Chris
第二个,你可以点击它并键入输入,但下拉不会关闭。 –