问题标签 [draft-js-plugins]

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 回答
835 浏览

javascript - 如何从草稿 js 中的编辑状态中删除提及?

在这家呆了很长时间,并不能完全弄清楚。

我有两个组件,由父组件控制。有一个属性叫做“selected”。因此,当用户单击列表时,它将更新selected传递给的父组件的属性,该属性TagInput使用MentionPluginfrom draft-js。

为了处理这个问题,我实现了一个componentWillReceiveProps如下所示的。

虽然通过创建一个新实体并插入它很容易添加实体,addMentions但对于我来说,我无法弄清楚如何Mention通过文本获取一个然后从编辑器中删除它。

这将如何完成?

0 投票
1 回答
626 浏览

javascript - Draft-js 在 editorState currentContent 中获得提及位置

我正在使用 draft-js-mention-plugin 并且我正在寻找一种返回整个文本中提及位置的方法(不使用indexOf())。

例如,我想得到piRstone这句话的开始和结束位置: Welcome to piRstone, our new colleague.

我应该得到11开始位置和19结束位置。

这是我的onAddMention()方法:

也许有一种更简单的方法可以使用,但提及插件文档有点弱。

0 投票
1 回答
283 浏览

javascript - Draftjs 提到带有 browserify 的插件

我试图让 Draft-js 中的提及插件与 Browserify 一起工作。这是因为我们的应用程序是使用 Browserify 构建的。

这是关于这个插件的:https ://www.draft-js-plugins.com/plugin/mention

在示例中,他们使用 Webpack,并使用导入。

我使用要求。所以我的代码的一个例子是:

我不使用 ES6 表示法。有人知道我做错了什么吗?

0 投票
0 回答
445 浏览

reactjs - How to export and import html div content in draft js?

I use draft-js-export-html and draft-js-import-html to export and import my HTML content to editor.

But when I try to export HTML by stateToHTML function, it also remove all my HTML div content.

Anyone know solution to keep div tag content when export from contentState and import HTML with div tag content to contentState?

0 投票
1 回答
365 浏览

javascript - Draft.js(插件)中的自定义可编程小部件

作为我想做的一个例子,在 Draft.js 中,我想允许用户在页面中包含图像的幻灯片,以后可以在外部进行更改。因此,如果在我的应用程序中定义了幻灯片,用户可以选择该幻灯片以放入他们的页面,如果稍后更改图像,那么它们将在页面上自动更新。编辑器中的可视化表示也是一个不错的选择。我要求太多还是在 Draft.js 中这可能?

0 投票
1 回答
803 浏览

draftjs - 一次使用两个操作更新 editorState

当我进入space酒吧时,我试图将一个单词分成两个单词。我的文本中的每个单词都是一个实体,所以当我将一个单词一分为二时,我需要更新文本并创建一个新实体。

我正在使用该Modifier模块进行两个更新。

我正在尝试一次使用两个操作更新编辑器状态。如果另一个不存在,它们都可以工作。当这两个存在时,它只更新最后一个。

有没有办法更新文本(拆分单词)并将新实体添加到entityMap

0 投票
1 回答
2095 浏览

draftjs - 使用带有 DraftJS 的 blockRendererFn 自定义块

是否可以渲染一个自定义块,其中某些部分是可编辑的,而有些则不是?

这是我要实现的目标的示例。ReadOnlyComponent组件应该是只读的,而WriteComponent包含可编辑的数据。

这是我们传递给编辑器以创建自定义块组件的blockRendererFn 属性:

0 投票
3 回答
4120 浏览

reactjs - 如何阻止 DraftJS 光标跳到文本的开头?

使用 DraftJS 和 Meteor Js 应用程序任务涉及的代码 - 进行实时预览,其中来自 DraftJS 的文本将保存到 DB 中,并且从 DB 中显示在另一个组件上。

但问题是一旦数据来自数据库,我尝试编辑 DraftJS 光标移动到开头。

代码是

任何在正确方向上的有用评论都会很有用

0 投票
2 回答
3467 浏览

javascript - Draft.js 和 stateToHTML,如何在反应组件中呈现输出 html?

我的 Draft js 编辑器工作正常,它使用 保存到我的数据库中,convertToRaw(editorState1.getCurrentContent())我将其取回并使用 draft-js-export-html 和stateToHTML(convertFromRaw(dbContent.content.text01)).

到目前为止一切都很好......但是现在我有了想要在我的反应组件中显示的原始 HTML,麻烦就来了。

只需将其渲染{props.text01}为字符串并转换<p>adfasfadfs</p>为文本即可。

显然我希望它呈现为 HTML。我怎么做?

我已经查看了dangerouslySetInnerHTML但我宁愿没有另一个插件只是为了让我的 Draft js 以我想要的方式工作。

我是不是走错了路,还是危险的 SetInnerHTML 是唯一的方法?

0 投票
0 回答
825 浏览

javascript - DraftJS - 创建提及实体

使用 DraftJS(和 DraftJS 提及插件),在我的编辑器组件中,当我从后端接收数据时,我试图创建一个提及实体,例如:“嘿,@john12345!” 我需要将 slug 更改为提及实体。

做这个的最好方式是什么?

我可以简单地将数据加载到编辑器中,使用this.state.editorState.getCurrentContent(),修改 ContentState 对象以在 a 中包含一个entityMapobj + 一个entityRangesobj block,然后再次设置 editorState 吗?

或者我应该使用我可用的 DraftJS API 实用程序createEntity吗?

很难找到这方面的好例子。任何例子将不胜感激!