有没有人遇到过这个问题哈!javascript处理react网站

网站是用react框架开发的,想用document.getElementById("name").value="zero"的方式进行表单赋值,表面上是成功了,单提交的时候提示字段为空,其实是没有赋值成功的,想请教一下,怎么用js的方式进行赋值?
慕村225694
浏览 432回答 2
2回答

狐的传说

首先你要区分受控组件和非受控组件,你这么赋值的话,非受控组件是可以被改变,那么你提交表单的时候也应该用document.getElementById("name").value之类的方法拿到value,而不是用默认的方式拿value.要么就用state.value来进行组件值的控制,那么改变state.value自然组件展示也改变了,提交表单时,就用state.value取到对应值.

互换的青春

importReact,{useRef}from'react';constInput=()=>{constinput=useRef();constsetValue=()=>document.querySelector('#input').value='value';constgetValue=()=>console.log(input.current.value);return(setvaluegetvalue);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript