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
Was es tut, ist … Wenn ich auf diese Schaltfläche drücke, schiebt es das neue Element in das Array, aber das
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