问题标签 [draftjs]

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 投票
0 回答
772 浏览

javascript - DraftJS 与 Internet Explorer

在 IE11 上渲染 DraftJS 编辑器会出现以下错误 - Invariant Violation: PluginEditor.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.

同样的设置在 Chrome/FF 中运行良好。我们已经使用 babel 来编译 ES6。

  • 一个相关的 Github 线程(https://github.com/facebook/draft-js/issues/296)提到了多个版本的 React(因为草稿包括版本 15+),而我的应用程序使用v0.14...我尝试了这个,但升级是不可行的马上)

  • 文档提到使用es6-shimes5-shimhttps://facebook.github.io/draft-js/docs/advanced-topics-issues-and-pitfalls.html#polyfills 。我试过这个,但没有帮助。我犯了同样的错误。

还有什么我可能会丢失的吗?期待您的投入。

0 投票
2 回答
1706 浏览

react-native - 在 react-native 上查看 Draft js 输出

考虑使用 Draft.js 在 Web 应用程序上进行富文本编辑,然后使用 Draft.js convertToRaw函数将输出转换为 json 对象并将其存储数据库中。

如果富文本的消费者是一个反应原生的移动应用程序,那么表示富文本的最佳方法是什么?

  1. 是否有任何强大的工作或库可以遍历 json 对象并导出本机TextImage组件?

  2. 还有一些将 json 对象导出为 html 的库:

导出的 html 然后可以用webview组件表示。这是一种可靠的方法吗?

  1. 另一种表示方式是将react放入 react-native webview并使用Editor带有readOnly属性的 Draft.js 。但我不知道该走哪条路!
0 投票
2 回答
2191 浏览

reactjs - 焦点编辑器,将光标定位在第一个块的开头

我需要将焦点应用到 Draft.js 编辑器并将光标定位在第一行/块的开头。编辑器包含多行/块。

this.refs.editor.focus()在应用时,光标始终位于编辑器中第二个块/行的开头。

使用这个问题这个问题作为指导,我尝试了下面的代码但没有成功。我怀疑传递blockMapcreateFromBlockArray()不正确:

0 投票
1 回答
744 浏览

html - Draft-js react-rte 在导入时不尊重 html 标签

我有一些由 Google Docs 生成的 html。标题居中。Google Docs 给了我一个<p style='text-align:center' >,但它没有将文本置于 rte 中,所以我将其更改为<center>标签,它也不会使文本居中。

在 rte 渲染后的页面上的 html 中,我看不到我的中心标签。似乎 html 解析器忽略了它。

a)draft.js 是否存在已知的 html 子集?

b) 您认为可以将 Word 和 Google Docs 中的文档导入 rte 并保留格式吗?

0 投票
1 回答
2964 浏览

reactjs - Draft.js 获取已设置样式的元素的选择或范围

我正在使用 react-rte 但愿意扩展它,所以让我们谈谈 Draft-js。

我需要能够“内联样式”选择。然后在随后的渲染中重新访问该选择的 dom。

因此,假设我突出显示了一个选择。然后我坚持这个文件。然后我回来,重新加载文档,我需要能够访问那个突出显示的部分,但是在 dom.xml 中。

基本上在文档的一侧,我在 Draft-js 之外应用标记,并且这些标记需要与突出显示的部分对齐。因此,当我进行初始突出显示时,我可以从 window.getSelection() 获取 dom 位置,并且可以放置我的标记。但是 dom 以后可能会改变,我将无法放置我的标记。

- 编辑 -

所以另一个用例是我突出显示一个选择,即使在同一个会话中,我也需要以编程方式更改选择的颜色,所以即使光标不在该部分上,我也需要再次访问文档的部分。

--结束编辑--

所以我真正需要的是一个独特的类名、id 甚至更好的 react ref,用于在你执行内联样式时创建的新跨度。

如果您需要更好的解释,请告诉我。

0 投票
1 回答
3165 浏览

javascript - getBoundingClientRect 在 Safari 中为顶部、左侧、右侧、底部返回 0

所以,我有一个由 Facebook 提供支持的 contenteditable div draft-js。我需要获得该 div 中插入符号的视觉位置,并且我实现了这个(适用于 Firefox 和 Chrome):

在 Chrome 和 Firefox 的情况下,我得到了正确的坐标。但是,在 Firefox 中,所有位置属性都为 0。任何解决方法/跨浏览器解决方案?

0 投票
1 回答
1258 浏览

javascript - 如何从 draft.js json 呈现 react.js 内容

假设我有 draft.js 编辑器,编辑完成后我将结果保存到数据库。我有两种方法:将结果保存为 html 字符串或 json 对象。当我使用来自dataBase 的html 字符串时,很容易使用dangerouslySetInnerHTML 来呈现它。但是,如果我想在其他组件中而不是在其他组件中显示此内容,如何使用由 convertToRaw Draft.js 方法生成的 json 对象?我知道我可以使用,但我不确定这是在页面上显示很多内容的优化方法 Draft.js 中的 json 对象示例

0 投票
0 回答
544 浏览

emoji - 如何为 Draft.js 提供表情符号选择器

我将 Draft.js 与 Draft-js-plugins 的表情符号一起使用,我想知道是否有办法为用户提供表情符号选择器(如 WhatsApp iMessage 等)。现在唯一的方法是输入冒号并根据关键字获取建议。我所有的用户都觉得这很烦人。有任何想法吗?

0 投票
0 回答
217 浏览

ruby-on-rails - 如何使用 React (Draft.js) 和 Rails 实现嵌入

我在我的 Rails 应用程序中构建了一个 Draft.js 编辑器。我使用convertToRaw()andconvertFromRaw()方法将其状态保存在服务器上并稍后恢复。

现在我想添加一个自定义的 Todo 块组件,正如这里解释的那样,除了它将一个 Todo 对象保存到数据库中,引用它,然后渲染它......目标是能够从编辑器中“提取”这些对象并使用他们在应用程序的其他地方。

因为一张图片值一千字,这是我在一篇关于 Transclusion 的文章中找到的一张,它很好地展示了我的想法:

但老实说,我完全不确定实现这种功能的最佳方式是什么。特别是因为我想在未来将它应用到其他 Draft.js 块......</p>

感谢您的帮助!

大卫

0 投票
1 回答
531 浏览

javascript - setState 从输入键草稿 js

请帮我。我有这样的代码,但是在更改状态时出现问题,消息错误是'Uncaught Error: Got unexpected null or undefined (...)'