ToggleControl不适用于保存部分

时间:2019-01-31 08:44:10

标签: wordpress reactjs wordpress-gutenberg gutenberg-blocks

我目前正在构建自定义英雄方块。我添加了一个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>
    );
},

});

1 个答案:

答案 0 :(得分:0)

我无法发表评论,因此,我必须将其发布为答案:/

我猜测attributes.includeContent道具是ToggleControl的问题,对吗?

是否在属性中将其设置为布尔值?

在console.log文件中保存后会得到什么?当您在console.log中输入保存类型时,该怎么办?我只是想知道它是否最终会变成一个字符串,而该字符串将等于true。