Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
Reactjs 反应输入-无默认值_Reactjs_Forms - Fatal编程技术网

Reactjs 反应输入-无默认值

Reactjs 反应输入-无默认值,reactjs,forms,Reactjs,Forms,我很困惑,我不知道怎么了。默认值有时只显示,有时当默认值显示时,如果我按enter键或单击submit,它将导致为空字符串 我希望的结果是:我希望输入显示默认值,即dueDateObject.dueDate。然后我希望能够提交带有默认值的输入并保存它 问题::现在,当我保存默认值时,它有时会将其保存为空字符串 提前感谢:) this.editDueDatekeypress(e,keyName,dueDateObject)} onChange={this.onChangeEditDueDate}

我很困惑,我不知道怎么了。默认值有时只显示,有时当默认值显示时,如果我按enter键或单击submit,它将导致为空字符串

我希望的结果是:我希望输入显示默认值,即dueDateObject.dueDate。然后我希望能够提交带有默认值的输入并保存它

问题::现在,当我保存默认值时,它有时会将其保存为空字符串

提前感谢:)

this.editDueDatekeypress(e,keyName,dueDateObject)}
onChange={this.onChangeEditDueDate}
值={this.state.editDueDateText}
defaultValue={dueDateObject.dueDate}
type=“text”
占位符=“到5月28日,我将有”/>
this.editDueDate(e,keyName,dueDateObject)}>Submit
我通过以下方法解决了这个问题: 删除此代码段:value={this.state.editDueDateText},并在下面的函数中使用一些条件语句进行调整

editDueDate = (e, keyName, dueDateObject) => {
    dueDateObject.showEditDate = false;

    if (this.state.editDueDateText) {
      this.props.editDueDate({ keyName, dueDateObject, editText: this.state.editDueDateText })
      this.setState({
        editDueDateText: ''
      })
    } else {
      this.props.editDueDate({ keyName, dueDateObject, editText: dueDateObject.dueDate })
      this.setState({
      editDueDateText:''
    })
    }

我不明白你想要的结果。。您正在将一个空字符串作为值传递给输入,并且希望它不接受此值?我希望的结果是:我希望输入显示默认值,即dueDateObject.dueDate。然后我希望能够提交带有默认值的输入并保存它。--------------------------------------一个问题是:现在当我保存默认值时,它有时会将其保存为空字符串。
dueDateObject
来自哪里?它是我从上面的代码传递下来的对象,但问题是如果我去掉代码“value={this.state.editdudedatetext}”,然后所有这些都可以工作,但问题是,当我提交输入时,它不是保存默认值,而是一个空字符串
onChangeEditDueDate = (event) => {
    this.setState({
      editDueDateText: event.target.value
    })
  }
editDueDate = (e, keyName, dueDateObject) => {
    dueDateObject.showEditDate = false;
    this.props.editDueDate({ keyName, dueDateObject, editText: this.state.editDueDateText })
  }
 <input className="form-control"
              onKeyDown={(e) => this.editDueDatekeypress(e, keyName, dueDateObject)}
              onChange={this.onChangeEditDueDate}
              value={this.state.editDueDateText}
              defaultValue={dueDateObject.dueDate}
              type="text"
              placeholder="By 28th May, I will have" />
            <div className="input-group-append">
              <button className="btn btn-outline-primary"
                type="button"
                onClick={(e) => this.editDueDate(e, keyName, dueDateObject)}>Submit</button>
            </div>
editDueDate = (e, keyName, dueDateObject) => {
    dueDateObject.showEditDate = false;

    if (this.state.editDueDateText) {
      this.props.editDueDate({ keyName, dueDateObject, editText: this.state.editDueDateText })
      this.setState({
        editDueDateText: ''
      })
    } else {
      this.props.editDueDate({ keyName, dueDateObject, editText: dueDateObject.dueDate })
      this.setState({
      editDueDateText:''
    })
    }