如何将块数据加载到EditorJS中?

tza*_*dor 5 editorjs

我想将块数据动态加载到我的 EditorJS 实例中。我想做这样的事情:

const editor = new EditorJS();
editor.load({ blocks: my_blocks })
Run Code Online (Sandbox Code Playgroud)

我似乎没有在https://editorjs.io/上找到任何有关如何执行此操作的文档

我知道我可以在初始化期间将块加载到 EditorJS,但我需要在单击按钮时加载动态数据。

Tom*_*Tom 5

不确定何时将其添加到 API,但也可以将editor.render(data)JSON 数据动态加载到编辑器中。

render(data: OutputData): Promise
方法删除所有块并填充新传递的 JSON 数据

来源: https: //editorjs.io/blocks#render


BiO*_*iOS 4

您可以通过使用以下签名的方法来使用Blocks Core API :insert()

 insert(type?: string, data?: BlockToolData, config?: ToolConfig, index?: number, needToFocus?: boolean): void
Run Code Online (Sandbox Code Playgroud)

所以,就你而言,它可能是:

editor.blocks.insert('header', {text: 'My header'});
Run Code Online (Sandbox Code Playgroud)

其中header类型,第二个参数是块data

一种更简洁的方法是预先定义您的块,如下所示:

const blockToAdd = {
  type: 'header', 
  data: {
     text: 'My header'
  }
};

editor.blocks.insert(blockToAdd);
Run Code Online (Sandbox Code Playgroud)