Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改输入字段的值-反应_Javascript_Html_Reactjs_Input Field - Fatal编程技术网

Javascript 更改输入字段的值-反应

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

在我从MaterialUI library中选择项目后,我一直在尝试更改输入字段的值,但我还没有成功,但就我搜索它而言,我所写的一切似乎都是应该的

这是我用来改变值的

    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()
强制重新呈现组件。

因为组件未重新呈现>请使用状态成员并将其传递给输入。您还需要监听输入更改以相应地更新您的状态