当前位置: 首页 > 面试题库 >

draftjs如何启动内容编辑器

祁奇略
2023-03-14
问题内容

偶然发现了这个很棒的文本编辑器,facebook的draft.js。我尝试遵循github中的示例,但我想创建一个具有内容的编辑器,而不是一个空的编辑器。

var EditorState = Draft.EditorState;

var RichEditor = React.createClass({
   getInitialState(){
      return {editorState: EditorState.createWithContent("Hello")}
      //the example use this code to createEmpty editor
     // return ({editorState: EditorState.createEmpty()})
   }
});

运行它,但出现错误,提示“未捕获的TypeError:contentState.getBlockMap不是函数”


问题答案:

EditorState.createWithContent的第一个参数是ContentState,而不是字符串。您需要导入ContentState

var EditorState = Draft.EditorState;
var ContentState = Draft.ContentState;

使用ContentState.createFromText并将结果传递给EditorState.createWithContent。

return {
  editorState: EditorState.createWithContent(ContentState.createFromText('Hello'))
};


 类似资料:
  • 问题内容: 使用什么是能够编辑内容的最佳方法? 在我理想的情况下, 添加的 生日将是一个超链接,点击该链接将显示一个编辑表单-与带有更新按钮的当前添加表单相同。 实时预览(插播) HTML: App.js: 问题答案: 您应该将表单放在每个节点内,分别使用和启用和禁用编辑。像这样: 这里的关键点是: 我已将控件更改为本地范围 已添加到,因此我们可以在编辑时显示它 添加了带有的,以便在编辑时隐藏内容

  • 问题内容: 为了解决我的应用程序的错误并调试问题,该应用程序分布在多个容器中,我经常在容器中编辑文件: 我完全懒惰并安装nano并直接在容器中进行编辑,或者 我将cp文件从容器中移出,对其进行编辑,复制并重新启动容器 这些是进入容器构建新内容之前的中间步骤,这比上述操作要花很多时间(当然,这只是中间/摆弄)。 现在,我经常破坏容器的启动程序,在这种情况下,它是节点脚本或python Web服务器脚

  • 试图修复我的应用程序在多个容器上拆分的错误和调试问题,我经常编辑容器中的文件: > 要么我完全懒惰,直接在容器中安装nano并进行编辑,要么 我将文件从容器中取出,编辑它,复制回来,然后重新启动容器 这些都是为容器构建新内容之前的中间步骤,这比执行上述操作要长得多(当然,这只是中间步骤)。 现在我经常破坏容器的启动程序,在破坏情况下是节点脚本或python webserver脚本,两者通常都因语法

  • 我使用的是这个官方组件https://www.tiny.cloud/docs/integrations/react/ 我想在文档https://www.tiny.cloud/docs/api/tinymce/tinymce.editor/#setcontent中使用这个方法,以便将bbcode定义为编辑器的内容。 这是我的代码

  • 问题内容: 我对Java脚本很陌生,因此如果这很基本,我必须道歉。 如何使用Angularjs在Smart-Table中编辑行表?新的Smart- Table似乎没有教程。我想为用户创建一个简单的表格,以输入特定地点的开放时间。 我创建了可以在表上添加和删除行的按钮,但是当我添加contenteditable =“ true”时,更新对象时所有更改都不会保留。我知道contenteditable是

  • 问题内容: 我使用CKeditor允许用户在登录后内联编辑页面上的内容。 我知道我可以使用以下方式访问数据: 但是我不知道如何将数据发送到脚本,因此我可以更新数据库。如果每次有人取消选择元素时都运行脚本,那将很酷……但是我不知道那是否有可能。 任何提示都很棒!:) 我的网站是使用php / mysql构建的。 问题答案: 像这样: 请注意,这不适用于其他交互,例如:用户调用或用户在编辑时关闭了网页