Удалить элемент из массива в блоке Гутенберга по индексу - PullRequest
0 голосов
/ 13 июля 2020

У меня есть блок WordPress Gutenberg, в который я могу добавлять элементы в массив. Однако мне нужно предоставить пользователю способ удалить определенный элемент списка c из массива элементов при нажатии кнопки рядом с указанным пунктом c. Данные хранятся в виде массива объектов. Вне WordPress и Gutenberg это будет работать на базовом уровне c удаления элемента по индексу из массива. Однако следующее не только не удаляет элемент, но и блокирует добавление новых элементов.

Разметка, используемая для запуска функции удаления

{items.map((item, index) => {
    return (
        <Button
        onClick={removeElement(index)}
        />
        <RichText.Content
            value={item['listItem']}
        />
    )
})}

Используется для добавления нового пустого элемента в список

const addListItem = () => {
        setAttributes({
            items: items.concat({
                listItem: ''
            })
        });
    };

Как я сейчас пытаюсь удалить выбранный объект из массива

const removeListItem = index => {
        items.splice(index, 1);
        return items;
    };

Я видел предложения использовать array.filter, но не буду удалять индекс из массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...