我想将块数据动态加载到我的 EditorJS 实例中。我想做这样的事情:
const editor = new EditorJS();
editor.load({ blocks: my_blocks })
Run Code Online (Sandbox Code Playgroud)
我似乎没有在https://editorjs.io/上找到任何有关如何执行此操作的文档
我知道我可以在初始化期间将块加载到 EditorJS,但我需要在单击按钮时加载动态数据。
不确定何时将其添加到 API,但也可以将editor.render(data)JSON 数据动态加载到编辑器中。
render(data: OutputData): Promise
方法删除所有块并填充新传递的 JSON 数据
来源: https: //editorjs.io/blocks#render
您可以通过使用以下签名的方法来使用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)