Gutenberg setAttributes aktualisiert meinen Bearbeitungsbereich nicht

Lesezeit: 1 Minute

Wie kann ich meine HTML-Elemente in Gutenberg an ein Array/Objekt binden?

Hallo, ich programmiere gerade einen Gutenberg-Block und wollte nur ein Objekt an meinen Block binden, aber es wird nicht aktualisiert. Derzeit habe ich eine Liste von

  • ‘s und wollte automatisch hinzugefügt werden, wenn ich auf “Click me!” Taste.

    Was es tut, ist … Wenn ich auf diese Schaltfläche drücke, schiebt es das neue Element in das Array, aber das

  • Elemente werden nicht hinzugefügt. Wenn ich wegklicke (wenn der Block den Fokus verliert), werden die Elemente hinzugefügt.

    Was habe ich falsch gemacht?

    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>
            ];
        }
    

    Ich erwarte, dass die Listenelemente dynamisch hinzugefügt werden, während sie foxused sind.

    • Ich habe das gleiche Problem. Hast du es jemals gelöst?

      – Simon

      16. Dezember 2019 um 15:11 Uhr

    • Ich hatte damit einigen Erfolg, um ein Update zu erzwingen: setAttributes({ slides: slides, date: new Date });

      – Simon

      16. Dezember 2019 um 16:39 Uhr

    1435290cookie-checkGutenberg setAttributes aktualisiert meinen Bearbeitungsbereich nicht

    This website is using cookies to improve the user-friendliness. You agree by using the website further.

    Privacy policy