3

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

const editor = new EditorJS();
editor.load({ blocks: my_blocks })

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

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

4

2 回答 2

2

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

 insert(type?: string, data?: BlockToolData, config?: ToolConfig, index?: number, needToFocus?: boolean): void

所以,在你的情况下,它可能是:

editor.blocks.insert('header', {text: 'My header'});

类型在哪里header,第二个参数是块data

一种更简洁的方法是按如下方式预定义您的块:

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

editor.blocks.insert(blockToAdd);
于 2021-02-26T10:40:42.910 回答
1

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

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

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

于 2022-02-28T07:37:46.483 回答