reactjs - Draft-js-export-html 导出时不包含视频

标签 reactjs draftjs draft-js-plugins

目前我使用的是draft js编辑器,添加插件draft-js-video-plugin将视频插入编辑器并使用 draft-js-export-html导出 html,但 htmk 结果不包含视频标签或其他任何内容。

控制台日志stateToHTML(this.state.editorState.getCurrentContent())

<p><br></p>
<figure>&nbsp;</figure>
<p><br></p>

我发现导出图像有同样的问题 here他们已经解决了,但没有解决视频问题。 我读过their source code在 github 上,现在似乎只支持文本、链接和图像。

enter image description here

那么我怎样才能从草稿js中获得包含视频的HTML结果呢?请大家帮帮我,谢谢大家。

最佳答案

归功于rafaelespinoza https://github.com/sstur/draft-js-utils/issues/59#issuecomment-314527096

我可以使用 `entityStyleFn 修复它,如下所示:

entityStyleFn: (entity) => {
    const entityType = entity.get('type').toLowerCase();
    if (entityType === 'draft-js-video-plugin-video') {
      const data = entity.getData();
      return {
        element: 'video',
        attributes: {
          src: data.src,
        },
      };
    }
    return null;
  },

关于reactjs - Draft-js-export-html 导出时不包含视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58643133/

相关文章:

javascript - Jest.fn() 在 React 单元测试中不起作用

javascript - 如何在 useEffect 中更新 useRef 变量的值

javascript - 检测模糊,也就是失去 Draft.js 编辑器的焦点

javascript - 使用 draft.js 是否可以使用类名创建自定义 block 跨度

javascript - 使用草稿js在react-draft-wysiwyg编辑器中未显示图像

javascript - Firebase:使用预留主机 URL 时未创建 Firebase 应用程序 '[DEFAULT]'

javascript - 为什么我的 react 表没有更新数据?

javascript - 检查 DraftJS 中的 contentState 是否更改或只是 editorState 的最佳性能方法

javascript - 如何扩展 draft-js-emoji-plugin 的主题

javascript - 如何在 react-draft-wysiwyg 中添加自定义下拉菜单?