ReactJs:textArea的默认值未更新

时间:2020-01-10 17:51:23

标签: reactjs forms input textarea

我正在ReactJs应用程序中处理表单。我想做什么:

1 /通过ID的草稿字母数组中的一个草稿字母//确定

2 /以下面的形式//显示所选草稿字母的标题,正文和位置

3 /,那么用户应该可以编辑所有字段//不正确!

这就是我所做的:

from django.utils.datastructures import MultiValueDictKeyError

try:
    set_var = request.POST['myfield']
except MultiValueDictKeyError:
    raise FieldDoesNotExist('Your field is not here.')

如果我使用class NewLetter extends Component { constructor(props) { super(props) this.state = { city: "", title: "", letterBody: "", } this.handleChange_city = this.handleChange_city.bind(this); this.handleChange_letterBody = this.handleChange_letterBody.bind(this); this.handleChange_title = this.handleChange_title.bind(this); } handleChange_city(e) { this.setState({ city: e.target.value }); } handleChange_letterBody(e) { this.setState({ title: e.target.value }); } handleChange_title(e) { this.setState({ letterBody: e.target.value }); } render() { return ( <form className="containerLetter"> <div className="form-group"> <input type="text" className="form-control" id="letterLocation" placeholder="where are you?" value={this.props.city} onChange={this.handleChange_city}/> </div> <div className="form-group"> <input type="text" className="form-control" id="letterTitle" placeholder="give a title to your letter" value={this.props.title} onChange={this.handleChange_title} /> </div> <div className="form-group"> <textarea type="text" className="form-control" id="letterBody" placeholder="Letter content" value={this.props.letterBody} onChange={this.handleChange_letterBody} /> </div> <button className="actionButton">Send the letter</button> <br /> <button className="actionButton">Save as draft</button> </form> ) } } export default NewLetter ,则这些字段不可编辑 如果我使用value,则该字段是可编辑的,但是当defaultValue更改时,React不会重新渲染。值由父组件作为道具传递:

defaultValue

这似乎是一个众所周知的问题

这是我发现的: defaultValue change does not re-render input

React input defaultValue doesn't update with state

https://github.com/facebook/react/issues/4101

今天是否有解决此问题的方法?

0 个答案:

没有答案