简体   繁体   English

我如何使用 onClick 或 onSearch 事件处理程序<select>和<option>ReactJs 中的元素?

[英]How can I use onClick or onSearch event handlers with <select> and <option> elements in ReactJs?

I've found that onClick with option elements works only with Firefox desktop version.我发现带有选项元素的 onClick 仅适用于 Firefox 桌面版本。 It does not work on mobiles and with Chrome desktop/mobile.它不适用于手机和 Chrome 桌面/移动设备。 I've read that onChange should be used with the select element instead of onClick.我读过 onChange 应该与 select 元素一起使用,而不是 onClick。 I tried but does not work.我试过但不起作用。 The original version is something like this:原始版本是这样的:

const ASV = "ASV";
const ASVtext = "ASVtext";
const KJV = "KJV";
const KJVtext = "KJVtext";
const setBibleVersion = (x, y) => alert(x + " " + y);
export default function App() {
    return (
        <div className="App">
        <h1>onClick / onSearch with select </h1>
        <select defaultValue="ASV">
            <option value="ASV" onClick={() => setBibleVersion(ASV, ASVtext)}>
               {ASVtext}
            </option>

            <option value="KJV" onClick={() => setBibleVersion(KJV, KJVtext)}>
               {KJVtext}
            </option>
        </select>
    </div>
  );

} }

And I tried this but this does not work too:我试过这个,但这也不起作用:

const setBibleVersion = x => alert(x);
export default function App() {
    return (
        <div className="App">
            <h1>onClick / onSearch with select </h1>
            <select defaultValue="ASV" onSearch={(value) => setBibleVersion(value)}>
                 <option value="ASV">{ASVtext}</option>
                 <option value="KJV">{KJVtext}</option>
           </select>
       </div>
 );
 }

The main goal is to execute a function with the value of a chosen option.主要目标是使用所选选项的值执行函数。

onSearch is not an event supported by react yet. onSearch是 react 支持的事件。 You could instead use onChange and perform the computation based on the new value that this function provides.您可以改为使用onChange并根据此函数提供的新值执行计算。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在此选择菜单示例中使用Reactjs事件处理程序代替jQuery事件处理程序? - How to use Reactjs event handlers instead of jQuery event handlers on this select menu example? 如何添加多个元素,例如<span>,</span> <p> <span>要么</span> <div> <span>内</span> <option> <span>的标签</span> <select> <span>在ReactJs中?</span> - How can I add multiple elements like <span>, <p> or <div> inside <option> tag of <select> in ReactJs? 如何为外部和内部元素添加不同的事件处理程序? - How can I add different event handlers for outer and inner elements? 如何在 ReactJS 中使用事件侦听器? - How can I use event listener in ReactJS? 如何防止onclick事件在选择选项中触发 - how to prevent onclick event to trigger in select option 如何在 onClick() 事件中使用 webAnimationsAPI? - How can I use webAnimationsAPI in an onClick() event? 如何将onClick事件与 <Link> 在reactjs中 - How to use onClick event with <Link> in reactjs 如何将模块导出的函数导入HTML onclick =“”事件处理程序的全局范围? - How can I import module exported functions into the global scope for HTML onclick=“” event-handlers? Reactjs,我该如何添加选择选项属性值来声明 - Reactjs, How can I add select option attributes values to state 如何在 javascript 中使用 html 中的元素进行 onclick 事件? - How do I use elements from html in javascript for an onclick event?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM