我目前正在构建自定义英雄方块。我添加了一个ToggleControl来隐藏或显示此块中的内容。这确实适用于gutenberg块中的edit部分,还需要向包装器添加一个类。这同样适用于编辑部分。
奇怪的是,它不适用于该块的保存部分。我用来设置类的代码如下:
它的工作原理与编辑部分中预期的一样
ALTER SESSION SET nls_length_semantics = BYTE
但是在保存部分中,未应用样式,并且条件标记不起作用。请参见下面的代码。
我想念什么吗?
edit: function( props ) {
const { attributes, className } = props;
const wrapperStyle = {
backgroundColor: attributes.backgroundColor,
backgroundImage: attributes.backgroundImage && 'url(' + attributes.backgroundImage + ')',
};
const classes = classnames(
className,
dimRatioToClass( attributes.backgroundOpacity ),
{
'has-background-dim': attributes.backgroundOpacity !== 0,
},
attributes.position,
{ [ `align${ attributes.align }` ]: attributes.align && attributes.fullWidthBackground },
{ [ `has-${ attributes.includeContent ? 'content' : 'no-content' }` ] : attributes.includeContent },
);
return (
<Fragment>
<Inspector { ...props } />
<div style={ wrapperStyle } className={ classes }>
<div className="wrapper-inner">
<div className="wrapper-inner-blocks">
{ attributes.includeContent === true &&
<InnerBlocks />
}
</div>
</div>
</div>
</Fragment>
);
},
});
答案 0 :(得分:0)
我无法发表评论,因此,我必须将其发布为答案:/
我猜测attributes.includeContent
道具是ToggleControl的问题,对吗?
是否在属性中将其设置为布尔值?
在console.log文件中保存后会得到什么?当您在console.log中输入保存类型时,该怎么办?我只是想知道它是否最终会变成一个字符串,而该字符串将等于true。