问题标签 [react-draft-wysiwyg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2009 浏览

reactjs - 如何在输入 React Hooks 时阻止 Editor DraftJS 光标跳到文本的开头?

我对作为编辑器的 drafjs 插件有问题,当我在编辑器中输入时,它会跳转到文本的开头。我找到了如何停止 DraftJS 光标跳转到文本的开头?这个解决方案,但它与我的代码有点不同,此外我使用 React Hooks 的新功能制作了组件。拜托,你能帮我解决这个问题吗?

例如, 在此处输入图像描述

0 投票
1 回答
3278 浏览

reactjs - 制作由 Formik 控制的 DraftJS 编辑器:字符串值不能很好地转换为 EditorState

我使用 react-draft-wysiwyg 编辑器,它的状态应该由 Formik 控制。这个想法是 Formik 的值是一个字符串,因此 Editor 状态使用 stateToHTML 转换为 HTML 并设置为值,当从 Formik 接收时,它从 HTML 转换为 EditorState。由于能够使用 Formik 方法重置表单,因此来回传递且不受 Editor 本身控制的值是必不可少的。此外,该值需要从表单作为字符串发送,后端不应该知道前端使用了哪种编辑器。

问题是,尽管带有 html 的字符串在 Formik 之间传递得很好,但更新数据却出错了。更新字符串后,光标返回到编辑器窗口的最开头(输入?)并将新键入的字符串添加到字符串前面。看起来我是从右到左打字的。但是,退格键和删除键按预期工作。

Formik 像这里一样使用它

这是编辑器的设置方式

0 投票
1 回答
2120 浏览

javascript - 问:React-Draft-Wysiwyg 如何为 blockTypes 添加自定义标签?

我正在尝试为 blockType 设置自定义标签react-draft-wysiwyg

根据这个池请求 ,我应该能够将displayName属性添加到编辑器工具栏配置对象。

我试图这样实现,但不幸的是它不起作用。

我想实现一个可定制的标签,这将允许我在我的编辑器中获得多语言支持。

0 投票
1 回答
781 浏览

javascript - 内容更改时 Draft.js / react-draft-wysiwyg DOM 更新缓慢

我正在为 Draft.js 使用 react-draft-wysiwyg 包装器。在页面上,我有多个 Editor 组件实例。onChange我对编辑器 UI(事件处理程序)的缓慢/滞后更新有问题。也许这是一些提示,我在控制台中收到了很多警告[Violation] 'input' handler took <N>msA

截图来自 2019-03-29 22-02-43

我的设置是:

  • 反应样板
  • 反应草稿所见即所得
  • 还原
  • 还原传奇
  • 重新选择

我正在调度操作来处理编辑器状态更改,它由 redux-saga 处理。Saga 将检查是否有新内容并更新商店。

我的 redux 状态如下所示:

减速器:

0 投票
2 回答
5502 浏览

reactjs - 如何显示本地内容 react-draft-wysiwyg

如何显示所有样式的编辑内容?

} }

我收到一个错误 TypeError: editorState.getImmutable is not a function 我哪里错了?可能需要在 div 和其他 html 标签中显示这些数据?我完全糊涂了

0 投票
1 回答
2510 浏览

reactjs - 如何使用 draft-js-html 将 draft.js 输出转换为纯 html 代码

我需要为不同的字段提供大约 6 个文本编辑器,以便用户可以将文本修改为粗体、斜体、下划线,向其中添加图像。我需要将数据作为纯 HTML 发送到 db 并以相同的方式接收数据格式。我正在使用 react-draft-wysiwyg,用于转换 Draft-js-html。请帮帮我

我收到类似 Uncaught Type Error: editorState.getImmutable is not a function 的错误

0 投票
1 回答
2913 浏览

reactjs - 无法在 componentDidMount 中加载的 react-draft-wysiwyg 编辑器中编辑文本

我在带有 SSR 的 React / Redux 项目中使用 react-draft-wysiwyg.Editor。编辑器使用 DOM 生成工具栏的下拉菜单,因此为了防止 SSR 出现问题,我在 componentDidMount 中创建了编辑器。组件显示正确,可以选择内容,但无法编辑任何内容。

如果我不等待componentDidMount()直接把Editor放到render()中,内容是可编辑的,但是从SSR直接加载时,工具栏的下拉菜单不会生成,因为react-draft-wysiwyg.Editor使用DOM。

编辑器内容不可编辑。

我没有任何错误信息。我一无所知……

0 投票
1 回答
864 浏览

draftjs - 如何将内容状态推送到当前编辑器状态?editorState.push 方法似乎对我不起作用?

存在 textEditor 需要插入一些纯文本内容,我尝试使用 EditorState.push 方法,我认为它适用于这种情况。我尝试这样的事情:

结果newEditorState不是合并状态,而是替换了一个,老的editorState错过了,newEditorState变成了全新的东西,就像create from the text. 这里有什么错误的用法吗?还是有其他方法可以解决问题?

0 投票
0 回答
559 浏览

reactjs - Block 不是 blockNode 。如何解决与 npm semver 相关的问题?

我遇到了 peerDependencies 的问题。我有一个 react application ,它导入react-draft-whysiwyg。我的主应用程序具有当前依赖项`

"Dependencies": { ... // another packages "draft-js": "^0.10.5", "react": "16.7.0", "react-dom": "16.4.0", "immutable": "^3.8.2", "react-draft-wysiwyg": "git+ssh://repo-url/shared/forks/react-draft-wysiwyg.git#0.0.4", ... // another packages }

轮到的react-draft- whysiwyg 具有当前的 package.json 结构`

"devDependencies": { ... // another packages "draft-js": "^0.10.5", "draftjs-to-html": "^0.8.3", "immutable": "^4.0.0-rc.1", "react": "16.4.0", "react-dom": "16.4.0", ... // another packages }, "peerDependencies": { "draft-js": "^0.10.x", "immutable": "3.x.x || 4.x.x", "react": "0.13.x || 0.14.x || ^15.0.0-0 || 15.x.x || ^16.0.0-0 || 16.x.x", "react-dom": "0.13.x || 0.14.x || ^15.0.0-0 || 15.x.x || ^16.0.0-0 || 16.x.x" },

实际问题处于开发阶段,因为我需要单独运行react-draft-whysiwyg以使用主应用程序对其进行测试。它抛出一个错误(见下图)`

在此处输入图像描述

我认为提供如何重现错误的详细步骤并不重要,因为我认为这可能是与peerDependencies相关的问题,因为在生产中它工作得很好。据我所知,npm 会自动解决版本控制问题,但在开发中我需要安装上述软件包的正确版本。我已经尝试了不同的选项,但无法解决它。也许我只是无法解决 peerDependencies 的问题并在开发中安装提到的软件包的正确版本。

0 投票
2 回答
1024 浏览

reactjs - 如何将文本框中的值作为 HTML 字符串提交?

我正在使用库 react-draft-wysiwyg,我希望从文本框中输入的值采用 HTML 字符串的形式。

目前,我在控制台中登录的输入值以我无法提交到后端的格式显示,因为它需要一个 HTML 字符串。我曾尝试使用 convertToRaw,但它似乎并没有将数据格式更改为我想要的格式。

我的状态:

我的编辑器 JSX:

我的 onChange 处理程序:

还有我的 handleSubmit 函数:

目前,当我查看已发布的内容时,它看起来像:

包含输入的所有文本格式的数组。是否可以将其转换为 HTML 字符串?

例如:

提前感谢您的帮助!