React.js-正在更改类型为受控的不受控制的输入。输入元素不应从不受控制切换为受控制

时间:2018-06-30 02:41:48

标签: javascript reactjs

我目前正在使用React.js。

尽管我已经在我的component.state中有效输入了元素的值,但我仍然收到此警告。

目标是触发我的按钮的禁用版本,然后在填写表格时触发我的按钮的启用版本。因此,每种情况都有两个版本的按钮。希望是有道理的。

这是我的代码:

component.state:

this.state= {nameSubmit: "offSubmit"}

component.form.element:

 <div>
      {formFilled ? (
       <input className="formLabel"  type="submit" name={this.state.nameSubmit || "" } value={this.state.nameSubmit || ""}/>
      ) : (
        <input className="formLabel"  type="submit" name={this.state.nameSubmit || ""} defaultValue={this.state.nameSubmit || ""}/>
      )}
    </div>

当我的“ formFilled”元素传递为true时,该组件会以可操作的版本触发,例如:

this.setState({nameSubmit: "onSubmit"})

但是这时我的控制台返回了我:

  

警告:组件正在更改不受控制的输入   类型提交要控制。输入元素不应从   不受控制到受控制(反之亦然)。确定使用   受控制或不受控制的输入元素   组件。

在我看来,我几乎无法控制表单元素,甚至使用状态来确定所有值以进行测试。所以我无法弄清楚我的代码出了什么问题

0 个答案:

没有答案