Как передать входное значение другому входному значению события onBlur в ReactJS?

#javascript #reactjs

#javascript #reactjs

Вопрос:

Я хочу передать входное (первое входное) значение другому (второму входному) событию ввода onBlur (первого входного), но мы должны иметь возможность изменить это второе значение события onChange, если захотим, но в настоящее время я не могу изменить второе входное значение, поскольку мы уже передали ему значение input1.

 <input type="text" value={val1} onChange={(e) => setVal1(e.target.value)} onBlur={() => setVal2(val1)}/>
<input type="text" onChange={() =>} value={val2}/>
 

Ответ №1:

это контролируемый компонент, вы не можете изменить его значение вне области действия элемента, поэтому вам нужно преобразовать входной элемент в неконтролируемый компонент. замените value свойство на defaultValue .

 <input
   type="text"
   value={val1}
   onChange={(e) => setVal1(e.target.value)}
   onBlur={() => setVal2(val1)}
  />

 <input
   type="text"
   onChange={(e) => setVal2(e.target.value)}
   defaultValue={val2}
  /> 
 

рабочая демонстрация

Ответ №2:

Даже если вы передадите значение val1 на второй ввод, в событии onChange вы все равно можете отредактировать входное значение. Пожалуйста, продолжайте с событием onchange во втором вводе