Ошибка вставки текста для преобразования атрибута в элемент - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь вставить текст в компонент, когда он имеет атрибут «переменная».Атрибут устанавливается, и запускается атрибут attributeToElement, но текст не добавляется к элементу, к которому относится атрибут.

Я пробовал несколько разных конфигураций, например, возвращал элемент контейнера или преобразовывал его в виджет перед возвратом, но ни одна из них, похоже, не работает.Я установил точку останова, и она попадает в этот оператор возврата в функции, которая вызывает мой downcast:

if (!conversionApi.consumable.consume(data.item, evt.name)) {
    return;
}

Это мой код преобразования.

conversion.for( 'upcast' ).elementToAttribute( {
            model: {
                key: 'variable',
                value: viewElement => {
                    return viewElement.data.splice(1, -1)
                },
            },
            view: {
                name: 'bracketvalue',
                classes: 'bracket-component-text'
            }
        } );
        conversion.for( 'downcast' ).attributeToElement( {
            model: 'variable',
            view: ( modelValue, viewWriter ) => {
                const writer = viewWriter
                const text = writer.createText(`[${modelValue || "placeholder"}]`)
                return text
            }
        } );

Я просто хочу, чтобы родительский компонентпокажите текстовый узел с переменным содержимым, и если есть лучший или более идиоматический способ сделать это, я открыт для этого.В настоящее время кажется, что что-то в моей конфигурации не позволяет текстовому узлу быть действительным дочерним элементом родительского элемента.

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

...