Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在选择值后防止选择关闭_Javascript_Reactjs_React Select - Fatal编程技术网

Javascript 在选择值后防止选择关闭

Javascript 在选择值后防止选择关闭,javascript,reactjs,react-select,Javascript,Reactjs,React Select,我使用React select组件在Javascript React中创建了一个自定义下拉菜单。通过使用optionComponentprop,我可以使用复选框呈现每个选项(参见图)。我的问题是,一旦你点击任何复选框,选择选项就会关闭,这不是一个很好的用户体验 图片: 因此,我的问题是,在用户单击select右侧的箭头之前,是否有任何方法可以阻止下拉列表关闭,从而可以在关闭选项之前勾选和取消勾选任意数量的复选框。您可以从checkbox元素中选择click事件 假设这是您的复选框单击处理程序:

我使用
React select
组件在Javascript React中创建了一个自定义下拉菜单。通过使用
optionComponent
prop,我可以使用复选框呈现每个选项(参见图)。我的问题是,一旦你点击任何复选框,选择选项就会关闭,这不是一个很好的用户体验

图片:

因此,我的问题是,在用户单击select右侧的箭头之前,是否有任何方法可以阻止下拉列表关闭,从而可以在关闭选项之前勾选和取消勾选任意数量的复选框。

您可以从checkbox元素中选择click事件

假设这是您的复选框单击处理程序:

onClickHandler = (e) => {
    e.stopPropagation();
    //do some other logic
}
这样,当单击复选框时,它不会触发下拉菜单上的选择处理程序。

您可以从checkbox元素中删除click事件

假设这是您的复选框单击处理程序:

onClickHandler = (e) => {
    e.stopPropagation();
    //do some other logic
}

这样,当单击复选框时,它不会触发下拉菜单上的选择处理程序。

event.preventDefault()可用于防止选择关闭。点击箭头,您可以编写代码关闭。欢迎来到开发者学习、分享和建立职业生涯的地方!请在此处添加有意义的代码和问题描述。发布一个能证明你的问题的帖子会帮助你得到更好的答案。谢谢event.preventDefault()可用于防止选择时关闭。点击箭头,您可以编写代码关闭。欢迎来到开发者学习、分享和建立职业生涯的地方!请在此处添加有意义的代码和问题描述。发布一个能证明你的问题的帖子会帮助你得到更好的答案。谢谢