我正在尝试从外部呼叫应用Richtext格式。目前唯一失败的是applyFormat。我没有收到任何错误,但格式也没有被应用。传递给dispatcher的值保存新的activeFormat,但从未应用过。有什么解决方法吗?
var html = wp.data.select('core/block-editor').getSelectedBlock().attributes.content;
var blockUid = wp.data.select('core/block-editor').getSelectedBlock().clientId;
var value = wp.richText.create({
html
});
value = wp.richText.applyFormat(value, { type: 'core/bold' },
wp.data.select('core/block-editor').getSelectionStart(),
wp.data.select('core/block-editor').getSelectionEnd()
);
wp.data.dispatch( 'core/block-editor' ).updateBlock( blockUid, {
attributes: {
content: wp.richText.toHTMLString(
{value }
)
}
} );发布于 2020-06-12 21:27:26
解决了它。开始和结束选择实际上是对象:)使用偏移可以做到这一点!在工作解决方案下面。
var html = wp.data.select('core/block-editor').getSelectedBlock().attributes.content;
var blockUid = wp.data.select('core/block-editor').getSelectedBlock().clientId;
var value = wp.richText.create({
html
});
value = wp.richText.applyFormat(value, { type: 'core/bold' },
wp.data.select('core/block-editor').getSelectionStart().offset,
wp.data.select('core/block-editor').getSelectionEnd().offset
);
wp.data.dispatch( 'core/block-editor' ).updateBlock( blockUid, {
attributes: {
content: wp.richText.toHTMLString(
{value }
)
}
} );https://stackoverflow.com/questions/62321238
复制相似问题