单击按钮清除表格

时间:2019-09-10 11:54:16

标签: javascript reactjs

我正在尝试使用react清除onClick表单。事件触发,但是当我尝试将setState设置为“”时,它告诉我无法设置未定义状态。

我尝试通过几种方式将状态设置为空。

onHandleChange(e) {
this.setState({
input: e.target.value
});
}

clearForm(e) {
e.preventDefault();
const input = this.state.input;
console.log("input", input);
this.setState({
  input: ""
});
}

我也尝试使用onClick={(this.form.elements["text-input"].value = "")}内联。

<button
  className="reset btn btn-danger"
  type="reset"
  id="resetInput"
  value="reset"
  onChange={this.onHandleChange}
  onClick={this.clearForm}
>
  Reset
</button>

我的预期输出是输入的值应该为空。空字符串。但是,这没有发生...我没有重置状态。

3 个答案:

答案 0 :(得分:0)

发生这种情况是因为您没有将此功能正确绑定到clearForm函数。

Cannot set State of undefined。此错误表示在this.state中,未定义

使用arrow函数正确绑定this上下文。

尝试此代码

clearForm = (e) => {

答案 1 :(得分:0)

尝试此代码

<script>
    $(document).ready(function(){
        $('#btnClear').click(function(){                
            if(confirm("Want to clear?")){
                /*Clear all input type="text" box*/
                $('#form1 input[type="text"]').val('');
            }                   
        });
    });
</script>

答案 2 :(得分:0)

单击该清除按钮,您可以将表单输入的所有值的状态设置为空字符串。