使用TinyMCE之前,由于将TinyMCE附加到固定的'div id =“ content”',只需修改HTML中的内容即可轻松修改内容
如何在Gutenberg中使用JavaScript修改内容?
我尝试使用与TinyMCE中相同的方式进行修改,但这只是修改HTML中的内容,而不是Gutenberg中的实际内容
我使用以下代码从Gutenberg块中获取了内容。
public getContent(): string {
const editor = wp.data.select('core/editor');
let content = '';
if (editor) {
const editedContent = editor.getEditedPostContent();
const blocks = wp.blocks.parse(editedContent) as any as Block[];
if (blocks && blocks.length > 0) {
blocks.forEach((block) => {
content += this.createGutenbergBlock(block);
});
}
}
return '<blocks>' + content + '</blocks>' ;
}
private createGutenbergBlock(block: Block): string {
const innerblocks = block.innerBlocks.map((blk) => {
return this.createGutenbergBlock(blk);
}).join('');
return `<block
clientId="${block.clientId}">${block.originalContent}${innerblocks}
</block>`;
}
我想知道如何使用JavaScript修改Gutenberg中的块内容?