我收到了一个像1 2 <br /> 3 <br /> 4 4
这样的字符串,我希望在LINE BREAKS
的textarea中呈现这个字符串。
请查看jsfiddle,了解我正在努力实现的目标 - https://jsfiddle.net/pejxqn68/1/
class Hello extends React.Component {
render() {
return (
<div>
<textarea value={this.props.textareaValue}></textarea>
</div>
);
}
}
ReactDOM.render(
<Hello textareaValue="1 2 <br /> 3 <br /> 4 4" />,
document.getElementById('container')
);
br
标记呈现为换行符?编辑 -
由于我无法将textarea
更改为div
,因此我无法做到这一点。
另外,我想要更多的react
解决方法(如果有的话)
答案 0 :(得分:4)
br
替换为\n
class Hello扩展了React.Component {
render(){
回来(
);
}
}
ReactDOM.render(
<Hello textareaValue={"1 2 <br /> 3 <br /> 4 4".replace(/<br\s?\/?>/g,"\n")} />,
document.getElementById('container')
);
答案 1 :(得分:3)
我不知道反应,但我知道要进行换行,您需要将<br />
转换为\n
。
所以做一些
的事情"1 2 <br /> 3 <br /> 4 4".replace(/\<br +\/\>/g, '\n')
所示
答案 2 :(得分:2)
您可以使用正则表达式将&lt; br&gt; 标记替换为换行符,如下所示:
class Hello extends React.Component {
render() {
return (
<div>
<textarea value={this.props.textareaValue.replace(/<br \/>/g, '\n')} />
</div>
);
}
}
ReactDOM.render(
<Hello textareaValue="1 2 <br /> 3 <br /> 4 4" />,
document.getElementById('container')
);