Closed HDP2017 closed 3 months ago
看下你对应的html是怎样的,正常的是这样
<p data-line="0">fas<br>
asd<br>
sasdd</p>
html是这样的 但是我选中里面的文字,这个地方好像前面多了个换行 但是我得山上应该就是只有一个\n
或许是因为,在替换为<br>
标签的时候,文本里面的\n还存在?
查了下文档,这是有些 Markdown 解析器在生成 HTML 时,为了保持与原始 Markdown 文件的最大兼容性和可读性,选择保留原始的换行符。而 markdown-it 和 marked 在设置 breaks 为 true,有上面相同的行为。
如果不希望使用的话,可以从这里参考设置它的值。
由于\n
在html中并不会起到真实的换行行为,所以你需要参考下面的语法编写你的内容:
问题是我现在需要在输入框借助\n换行,其实就是输入框默认的换行行为是在字符串添加\n,而我们后端也需要这个来表示换行。渲染的时候就用的咱们的插件,所有下面的markdown语法应该不行。 上面那个配置可以解决这个问题吗,文档看的不是很清晰,可否提供一个示例代码,麻烦大佬
问题是我现在需要在输入框借助\n换行,其实就是输入框默认的换行行为是在字符串添加\n,而我们后端也需要这个来表示换行。渲染的时候就用的咱们的插件,所有下面的markdown语法应该不行。 上面那个配置可以解决这个问题吗,文档看的不是很清晰,可否提供一个示例代码,麻烦大佬
如果确实要使用\n
换行,那不用做任何修改,目前没有办法移除保留的\n
。
那中间空了一行的问题就解决不掉了嘛0.0
从编译规则上去处理挺麻烦的,通过组件提供的预处理html的方法sanitize
,你可以把它替换掉,像下面:
<MdPreview sanitize={(h) => h.replace(/<br>\n/g, '<br>')} />
加上这个可以了,感谢老哥
描述这个Bug
版本号
vue3项目,4.16.7
问题重现链接
No response