Проверка блока Гутенберга не удалась (не ожидая детей) - PullRequest
0 голосов
/ 24 ноября 2018

Я занимаюсь разработкой блока Рекомендаций Гутенберга, однако при сохранении и попытке его перезагрузки возникает ошибка проверки блока, кажется, что он ожидает блок без дочерних элементов во внутренней части карусели и т. Д.

Expected:

<div class="wp-block-wf-testimonials"><div class="slideshow carousel slide" data-ride="carousel" data-interval="false"><div class="carousel-inner"></div><a class="carousel-control carousel-control-prev" href="#undefined" role="button" data-slide="prev"><span class="carousel-icon carousel-control-prev-icon" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="carousel-control carousel-control-next" href="#undefined" role="button" data-slide="next"><span class="carousel-icon carousel-control-next-icon" aria-hidden="true"></span><span class="sr-only">Next</span></a></div></div>

Actual:

<div class="wp-block-wf-testimonials"><div class="slideshow carousel slide" data-ride="carousel" data-interval="false"><div class="carousel-inner"><div class="carousel-item active"><div class="quote"> sdfas </div><div class="byline"> sdf </div></div><div class="carousel-item false"><div class="quote"> fsadfa </div><div class="byline"> asdfassdfadf </div></div><div class="carousel-item false"><div class="quote"> fdsafas </div><div class="byline"> sdfasdfas </div></div></div><a class="carousel-control carousel-control-prev" href="#undefined" role="button" data-slide="prev"><span class="carousel-icon carousel-control-prev-icon" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="carousel-control carousel-control-next" href="#undefined" role="button" data-slide="next"><span class="carousel-icon carousel-control-next-icon" aria-hidden="true"></span><span class="sr-only">Next</span></a></div></div>

Вот атрибуты

attributes = {
        interval: {
            type: 'text',
            selector: '.slideshow',
            source: 'attribute',
            attribute: 'data-interval',
            default: 'false'
        },
        hideIndicators: {
            type: 'text',
            default: 'false'
        },
        viewMode: {
            type: 'text',
            default: 'edit',
        },
        testimonials: {
            source: "query",
            default: [{index:0, quote:"", byline:""}],
            selector: ".carousel-inner .carousel",
            query: {
                index: {
                    source: "attribute",
                    selector: ".quote",
                    attribute: "index"
                },
                image: {
                    source: "attribute",
                    selector: "img",
                    attribute: "src"
                },
                quote: {
                    source: "text",
                    selector: ".quote"
                },
                byline: {
                    source: "text",
                    selector: ".byline"
                }
            }
        }
    }

Полный код блока: https://github.com/Panguino/WF_Testimonial

Любая помощь будет принята с благодарностью, я новичок в Гутенберге, немного новичок в реакции.Полегче на меня =).

1 Ответ

0 голосов
/ 03 мая 2019

Я думаю, что вы нашли решение, отвечающее для будущих читателей.

Actual в ошибке консоли ожидает предыдущий HTML, который мы сохранили в методе save(), который хранится вбаза данных в настоящее время и метод нашего блока save() содержит новый код.Итак, WordPress не может соответствовать выводу, что приводит к ошибке валидации.

Решение: Вы должны удалить текущий экземпляр блока и создать новый, он будет работать.Хотя это раздражает, я надеюсь, что команда Гутенберга найдет решение этой проблемы

...