draft.js 顶部插入一张图片,将光标定位到上一行,按delete键,报错

我在编辑器顶部插入一张图片,上下出现两个空行,将鼠标定位到图片上一行,按delete键,图片消失,但是此时我提交内容,我看到是有那孩子那个图片被提交上去的,就是说,图片其实是没被删除的。

当我再点进去想编辑的时候,就报错Unknown DraftEntity key: null.

clipboard.png

我按delete 图片消失,当时我看发出的请求中,相应字段有这个图片内容

clipboard.png

只是删除了 图片 上边的一行空 <p></p> ,但是编辑器中图片是被“删除”了。

当我再次获取的时候

      const contentBlock = htmlToDraft(vasMng.agreementDetail.agreementContent);
      const contentState = ContentState.createFromBlockArray(contentBlock.contentBlocks);
      const editorState = EditorState.createWithContent(contentState);
      this.setState({
        editorState: editorState
      })

就报错了
clipboard.png

阅读 5.9k
3 个回答
新手上路,请多包涵

报错那个问题我解决了,就是你的html外层一定要有包裹;合react的规则一样,你删除时 变成<img><img> 是内联元素,要包裹在一个块级元素;比如<div><img><img></div>;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题