最近在用braft-editor 做富文本编辑器时候,发现在桌面或者网页复制图片,利用快捷键ctrl+v
或右键粘贴是,图片都是一张,但是如果在微信里面复制图片,再次粘贴到编辑器,就会自动出现两张(仅在谷歌浏览器中)。
后来查看braft-editor官网,该编辑器基于draft-js的Web富文本编辑器,在看官网api无相关接口方法之后,就转向draft-js,最终找到了解决方案,仅供参考:
handlePastedFiles?: (files: Array<Blob>) => DraftHandleValue
方法参数 files即为复制到剪贴板中内容(此时图片),正常情况下files为数组,长度为1,在谷歌浏览器中files长度为2,里面包含两个文件,所以在方法中对files去除调一个就可以了。
<BraftEditor
value={editorState}
onChange={(e) => {
handleEditorChange(e);
}}
handlePastedFiles={ (files: Array<Blob>) => {files.splice(1);}}
/>