Javascript 更改输入字段的值-反应
在我从MaterialUI library中选择项目后,我一直在尝试更改输入字段的值,但我还没有成功,但就我搜索它而言,我所写的一切似乎都是应该的 这是我用来改变值的Javascript 更改输入字段的值-反应,javascript,html,reactjs,input-field,Javascript,Html,Reactjs,Input Field,在我从MaterialUI library中选择项目后,我一直在尝试更改输入字段的值,但我还没有成功,但就我搜索它而言,我所写的一切似乎都是应该的 这是我用来改变值的 var element = ReactDOM.findDOMNode(this.refs._deviceId); element.setAttribute('value', 'deneme'); console.log(element); 这是输入字段 <div clas
var element = ReactDOM.findDOMNode(this.refs._deviceId);
element.setAttribute('value', 'deneme');
console.log(element);
这是输入字段
<div className="form-group row">
<label className="col-md-2 control-label">Device ID</label>
<div className="col-md-10">
<input type="text" className="form-control" id="deviceId" placeholder="Device ID" ref="_deviceId" />
</div>
</div>
设备ID
在我选择项目后,我安慰了元素变量,以检查一切是否正常,似乎没有问题
这是控制台日志
如您所见,该值已成功放置,但在屏幕上,输入字段没有任何变化。设置
值后,需要重新呈现组件。React仅在检测到状态更改时重新渲染组件。因此,请使用状态变量-
//Declare the state variable
this.state = {
inputValue: ''
};
//Use a lifecycle event or your own method to change the value of that state by using the setState method as-
someMethod() {
this.setState({
inputValue: 'deneme'
});
}
//In HTML use the above state as-
<input type="text" className="form-control" id="deviceId" placeholder="Device ID" ref="_deviceId" value={this.state.inputValue} />
//声明状态变量
此.state={
输入值:“”
};
//使用生命周期事件或您自己的方法更改该状态的值,方法为-
someMethod(){
这是我的国家({
inputValue:'deneme'
});
}
//在HTML中,使用上述状态作为-
请记住使用setState方法更改状态,以便可以进行组件重新渲染
或
您可以调用this.forceUpdate()
强制重新呈现组件。因为组件未重新呈现>请使用状态成员并将其传递给输入。您还需要监听输入更改以相应地更新您的状态