网站是用react框架开发的,想用document.getElementById("name").value="zero"的方式进行表单赋值,表面上是成功了,单提交的时候提示字段为空,其实是没有赋值成功的,想请教一下,怎么用js的方式进行赋值?
2 回答
aluckdog
TA贡献1847条经验 获得超7个赞
首先你要区分受控组件和非受控组件,你这么赋值的话,非受控组件是可以被改变,那么你提交表单的时候也应该用document.getElementById("name").value之类的方法拿到value,而不是用默认的方式拿value.要么就用state.value来进行组件值的控制,那么改变state.value自然组件展示也改变了,提交表单时,就用state.value取到对应值.
明月笑刀无情
TA贡献1828条经验 获得超4个赞
importReact,{useRef}from'react';constInput=()=>{constinput=useRef();constsetValue=()=>document.querySelector('#input').value='value';constgetValue=()=>console.log(input.current.value);return(setvalue getvalue );}
添加回答
举报
0/150
提交
取消