Как я могу сделать свои элементы HTML в Гутенберге привязанными к массиву / объекту?
Привет,
я сейчас программирую блок Гутенберга и просто хотел привязать объект к моему блоку, но он не обновляется.
В настоящее время у меня есть список
и я хочу добавить его автоматически, если я нажму "Click me!" Кнопка.
Что он делает ... Если я нажимаю на эту кнопку, он помещает новый элемент в массив, но элементы
не добавляются. Если я щелкаю прочь (если блок теряет фокус), элементы добавляются.
Что я сделал не так?
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>
];
}
Я ожидаю, что элементы списка будут динамически добавляться при использовании foxused.