为了账号安全,请及时绑定邮箱和手机立即绑定

将 Input 的值传递给 handleMethod

将 Input 的值传递给 handleMethod

芜湖不芜 2021-12-23 15:44:06
任务是将输入的每个字符传递给handleExchange方法。在此方法中,将发生对输入值的处理。如何将输入标签传递给handleExchange方法的参数?function App() {    function handleExchange(value) {      console.log(value)    }    return (      <input className = "input-r" placeholder = "Type here" />    )}ReactDOM.render(<App /> , document.getElementById('root'));<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script><div id="root"></div>我试图这样做:function App() {  function handleExchange(value) {    console.log(value);  }    return (    <div>      <input className="input-r" placeholder="Type here" onKeyPress={handleExchange(this.value)} />       {/*or*/}      {/* onKeyPress={handleExchange(event) */}    </div>  )}ReactDOM.render(<App />, document.getElementById("root"))<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script><div id="root"></div>
查看完整描述

2 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

您必须使用onChangeevent 并从event.target.

你有例子:

function App() {

  function handleExchange(e) {

    console.log(e.target.value);

  }

  

  return (

    <div>

      <input className="input-r" placeholder="Type here" onChange={handleExchange} /> 

      {/*or*/}

      {/* onKeyPress={handleExchange(event) */}

    </div>

  )


}


ReactDOM.render(<App />, document.getElementById("root"))

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>


<div id="root"></div>


查看完整回答
反对 回复 2021-12-23
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

onChange向input元素添加处理程序。注意:处理程序传递 ,event因此您需要从事件目标中获取值。在这里,我使用了destructuring。


function App() {


    function handleExchange(e) {

      const { target: { value } } = e;

      console.log(value)

    }


    return (

      <input

        className="input-r"

        placeholder="Type here"

        onChange={handleExchange}

      />

    );


}


ReactDOM.render(<App /> , document.getElementById('root'));

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

<div id="root"></div>


查看完整回答
反对 回复 2021-12-23
  • 2 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信