[英]How to pre-fill a text area from a string that contains <br /> tags in between the string
我得到一個像1 2 <br /> 3 <br /> 4 4
這樣的字符串,我想用LINE BREAKS
在文本區域中渲染它。
請查看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
方式(如果有的話)
這可能會有所幫助; 更換所有br
與\\n
類您好擴展React.Component {渲染(){回報(); }}
ReactDOM.render(
<Hello textareaValue={"1 2 <br /> 3 <br /> 4 4".replace(/<br\s?\/?>/g,"\n")} />,
document.getElementById('container')
);
我不知道反應,但我知道要返回行,您需要將<br />
轉換為\\n
。
因此,按照
"1 2 <br /> 3 <br /> 4 4".replace(/\<br +\/\>/g, '\n')
如小提琴所示
您可以使用正則表達式用換行符替換<br>標記,如下所示:
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')
);
更新的小提琴: https : //jsfiddle.net/pahund/pejxqn68/24/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.