我使用JS填充额外的CSS类输入,这工作得很好(即文本输入字段的值正在设置),但是它没有通知Gutenberg该值已被更新,并且它不保存编程填充的值。我试过:
classField.trigger( 'change' );
classField.trigger( 'input' );
…它们会着火,但对古腾堡没有影响。什么好主意吗?
*UPDATE(尚未生效)
wp.domReady( function() {
jQuery('body').on( 'change', '.acf-field[data-name=col_size] select', function() {
var clientId = jQuery(".wp-block.is-selected").attr("data-block");
wp.data.dispatch( 'acf/column' ).updateBlockAttributes( clientId, { className:'my-style' } );
});
});
要使用目标块clientId
来更新块的className
属性,请通过以下方式调用WordPress来保存更改:
wp.data.dispatch( 'core/block-editor' ).updateBlockAttributes( clientId, { className:'my-style' } );
clientId
存储在呈现的HTML的data-block
值中,例如。表块:
<figure
...
data-block="{clientId}"
data-type="core/table"
data-title="Table"
>
裁判:https://developer.wordpress.org/block-editor/reference-guides/data/data-core-block-editor/