您可以使用editor.BlockListBlock
滤器更多信息here. 这允许您执行以下操作:
const withCustomAttributeClass = createHigherOrderComponent( ( BlockListBlock ) => {
return ( props ) => {
const { attributes } = props;
const { yourCustomAttribute } = attributes;
const class = yourCustomAttribute ? \'my_custom_class\' : \'\';
return <BlockListBlock { ...props } className={ class } />;
};
}, \'withCustomAttributeClass\' );
addFilter(
\'editor.BlockListBlock\',
\'your-plugin/custom-attribute-class\',
withCustomAttributeClass
);
在上面,我只是检查属性是否存在,然后应用一个类,但是您可以在这里做各种更复杂的事情。请注意,此过滤器将该类应用于具有该自定义属性的每个块。然而
props
包含所有块信息,因此如果需要,可以根据需要排除某些块。