【问题标题】:How can I convert input value?如何转换输入值?
【发布时间】:2021-09-03 02:43:12
【问题描述】:

我有两个输入并且想要转换值,例如面积转换。

let [input, setInput] = useState('');
let [inputs, setInputs] = useState('');



<div className="area_container">
     <input name="area_p" type="number" onChange={(e)=>{ setInput(e.target.value * 3.31) }} onFocus={() => {setInput('')}} value={inputs}/>
     <p>area</p>
     <input name="area_m" type="number" onChange={(e)=>{ setInputs(e.target.value / 3.31)}}  onFocus={() => {setInputs('')}} value={ input }/>
     <p>m<sup>2</sup></p>
</div>


// 1 area = 3.31 m2

所以我想同时使用这两个输入,但它不起作用...

如果我将值放在第一个输入中,第二个输入的值会自动转换。 我希望相反的情况是一样的。

如何修改?请告诉我...????

实际上onFocus 函数是用于“初始输入状态值”,但它也不起作用。

【问题讨论】:

    标签: reactjs input state


    【解决方案1】:

    你需要分配两个值

    <input
      onChange={(e) => {
      setInput(e.target.value * 3.31)
      setInputs(e.target.value);
      }}
      value={inputs}
    />
    
    <input
      onChange={(e) => {
      setInput(e.target.value);
      setInputs(e.target.value / 3.31);
      }}
      value={input}
    />
    

    Codesandbox

    【讨论】:

      猜你喜欢
      • 2021-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 2021-02-04
      • 1970-01-01
      • 2011-08-12
      相关资源
      最近更新 更多