当将\n作为textarea的初始值传递时,没有中断行
问题
<TextArea
defaultValue={text} // "text" is the string received from the server side
...
验证
<TextArea
defaultValue={"hogehoge\n\nhugahuga\n\n"}
...
图书馆与框架
发布于 2020-07-23 19:32:11
如果您使用的是本机浏览器,则textarea
包含一个回车。
<TextArea
defaultValue={text.replace('\\n', '\r\n')}
如果您使用的是contenteditable
组件,请将\n
替换为<br />
,然后在稍后从服务器获取该组件之后,React将不会立即将<br />
标记输出为<br />
。
您需要使用dangerouslySetInnerHTML,以便<br />
元素在前端反映为HTML。
dangerouslySetInnerHTML是React在浏览器DOM中使用innerHTML的替代品。通常,从代码中设置HTML是有风险的,因为很容易无意中将用户暴露在跨站点脚本(XSS)攻击之下。因此,您可以直接从React设置HTML,但是您必须键入dangerouslySetInnerHTML并传递一个带有__html键的对象,以提醒自己这是危险的。例如:
这假设
https://stackoverflow.com/questions/63066167
复制相似问题