如何在 react-bootstrap 下拉列表中停止 toggle/show 项目?
How to stop the toggle/show item in react-bootstrap Dropdown?
代码:-
<td style={{ color: "white", width: "250px" }}>
<DropdownButton id="SelectFocus" title={playdata.ChannelName} tabIndex={-1}
onToggle={ontoggle}
menuVariant='dark'
>
{Channelname.map((val, id) => {
{
return (
<Fragment key={id}>
{removeRedundant([...val, playdata.ChannelName]).map((val1) => {
return (
<Dropdown.Item
onClick={(e) => { setPlayer(val1, playdata.idx, StoreIdx) }}
key={val1}>{val1}</Dropdown.Item>
)
})}
</Fragment>
)
}
})
}
</DropdownButton>
</td>
我正在使用 React bootstrap 下拉菜单,当我按下按键按钮时它会自动打开 items/options 我该如何停止?
我不希望在按下向下键时出现项目,所以如何在 React js 中停止它?
请帮忙...
当您使用 DropdownButton 组件时,按钮周围有一个额外的 div。使用更多底层 Dropdown 组件直接在按钮上设置 tabIndex:
<Dropdown>
<Dropdown.Toggle tabIndex={-1}>Test</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item>Test 1</Dropdown.Item>
<Dropdown.Item>Test 2</Dropdown.Item>
<Dropdown.Item>Test 3</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
但请记住,一旦您通过点击聚焦下拉菜单,按下箭头时您将获得相同的行为。
为了防止下拉菜单切换,我相信您可以使用 onKeyDown 事件,但到目前为止我无法让它工作:
const handleKeyDown = (event) => {
if (event.key === "ArrowDown") {
event.preventDefault();
}
};
代码:-
<td style={{ color: "white", width: "250px" }}>
<DropdownButton id="SelectFocus" title={playdata.ChannelName} tabIndex={-1}
onToggle={ontoggle}
menuVariant='dark'
>
{Channelname.map((val, id) => {
{
return (
<Fragment key={id}>
{removeRedundant([...val, playdata.ChannelName]).map((val1) => {
return (
<Dropdown.Item
onClick={(e) => { setPlayer(val1, playdata.idx, StoreIdx) }}
key={val1}>{val1}</Dropdown.Item>
)
})}
</Fragment>
)
}
})
}
</DropdownButton>
</td>
我正在使用 React bootstrap 下拉菜单,当我按下按键按钮时它会自动打开 items/options 我该如何停止? 我不希望在按下向下键时出现项目,所以如何在 React js 中停止它?
请帮忙...
当您使用 DropdownButton 组件时,按钮周围有一个额外的 div。使用更多底层 Dropdown 组件直接在按钮上设置 tabIndex:
<Dropdown>
<Dropdown.Toggle tabIndex={-1}>Test</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item>Test 1</Dropdown.Item>
<Dropdown.Item>Test 2</Dropdown.Item>
<Dropdown.Item>Test 3</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
但请记住,一旦您通过点击聚焦下拉菜单,按下箭头时您将获得相同的行为。
为了防止下拉菜单切换,我相信您可以使用 onKeyDown 事件,但到目前为止我无法让它工作:
const handleKeyDown = (event) => {
if (event.key === "ArrowDown") {
event.preventDefault();
}
};