嘿,我在更改textarea的内容方面遇到了问题。
这是我的textarea
<textarea
className="fixedTextArea"
defaultValue={this.props.predefValueSets[this.props.selection].values}
onChange={(event) => this.changeHandle(event)}
/>
现在,当this.props.selection
更改时,我想让textarea的内容也发生变化。
我无法使用value
代替defaultValue
,因为我的textarea必须是可编辑的。
当我查看浏览器并检查我的textarea时,我看到内容如何变化,但它们没有被反映出来。
知道怎么处理这个吗?
答案 0 :(得分:0)
最适合我的解决方案是使用<div>
代替<textarea>
。
我正在使用:
<div
className="fixedTextArea"
contentEditable
suppressContentEditableWarning>
{this.props.predefValueSets[this.props.selection].values}
</div>
这是一种管理onChange(...)
的简单方法(因为<div>
不会触发onChange-Events),但这在我的具体情况下并不重要。
答案 1 :(得分:-1)
使用ref
<textarea
className="fixedTextArea"
ref="fixedTextArea"
defaultValue={this.props.predefValueSets[this.props.selection].values}
onChange={(event) => this.changeHandle(event)}
/>
每次更改值时,请更新文本区域。
changeHandle(value){
this.refs.fixedTextArea.value = value
}