PrimeReact Editor修改内容时生成多余空格问题求助
PrimeReact Editor在SPFx React项目中输出大量多余空格的问题
我们开发了一个SPFx React解决方案,项目中使用了PrimeReact库的Editor组件。初始数据加载时一切正常,但用户在Editor中输入内容后,输出结果会包含大量多余空格。
编辑器界面:

输出结果:

请问该编辑器为何会在输出中生成多余空格?
可能的原因及解决方法
1. 组件内置的HTML格式化逻辑
PrimeReact Editor的底层(部分版本基于Quill)会对用户输入生成的HTML自动做格式化处理,添加缩进、换行来保证代码结构可读性,这些缩进和换行在浏览器解析时会被转化为多余空格。
2. 针对性解决方法
手动清理输出内容:获取Editor的输出后,用正则表达式过滤多余空格:
const cleanEditorContent = (rawContent) => { // 移除标签间的多余空格,保留文本内的合理空格 return rawContent.replace(/>\s+</g, '><').replace(/\s{2,}/g, ' ').trim(); };关闭自动格式化配置:检查PrimeReact Editor的版本文档,部分版本支持通过配置项关闭自动格式化。比如若底层基于Quill,可配置
clipboard模块禁用视觉匹配:const editorConfig = { modules: { clipboard: { matchVisual: false } } };将该配置传入Editor的
options属性,可减少因格式化产生的多余空格。
内容的提问来源于stack exchange,提问作者Bhoomesh Joshi
相关产品推荐
相关产品推荐

