古腾堡setAttributes不更新我的编辑区域

时间:2019-05-02 09:19:12

标签: wordpress reactjs wordpress-gutenberg

如何在Gutenberg中将HTML元素绑定到数组/对象?

嗨, 我现在正在编程一个Gutenberg块,只想将一个对象绑定到我的块,但它不会更新。 目前,我有一个

  • 的列表,如果我按“单击我!”,希望将其自动添加。按钮。

    它的作用是...如果我按下该按钮,它将把新元素推入数组,但不会添加

  • 元素。如果我单击离开(如果块失去焦点),则会添加元素。

    我做错了什么?

    edit: props => {
            const { setAttributes, attributes } = props;
            let slides = props.attributes.slides;
    
            const addSlide = function(event){
                slides.push({ title : 'new' });
                setAttributes({ slides: slides });
            }
    
    
    
    
            return [
                <InspectorControls key="inspector">
                    <PanelBody
                        title={'Slides'}
                        initialOpen={true}
                    >
    
                    {slides.map((slide, i) =>
                        <li key={i}>
                        {slide.title}
                        </li>
                    )}
    
    
                    <Button isPrimary onClick={addSlide}>
                        Click me!
                    </Button>
    
                    </PanelBody>
                </InspectorControls>,
                <div className={ props.className } key='richtext'>
    
                    {slides.map((slide, i) =>
                        <li key={i}>
                        {slide.title}
                        </li>
                    )}
    
                    <Button isPrimary onClick={addSlide}>
                        Click me!
                    </Button>
    
                </div>
            ];
        }
    

    我期望列表元素在被欺骗时会动态添加。

  • 0 个答案:

    没有答案