Я пытаюсь вставить текст в компонент, когда он имеет атрибут «переменная».Атрибут устанавливается, и запускается атрибут 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
}
} );
Я просто хочу, чтобы родительский компонентпокажите текстовый узел с переменным содержимым, и если есть лучший или более идиоматический способ сделать это, я открыт для этого.В настоящее время кажется, что что-то в моей конфигурации не позволяет текстовому узлу быть действительным дочерним элементом родительского элемента.
Я знаю, что мог бы просто определить нормальный элемент в элемент, но я пытаюсь сохранить возможностьвизуализировать обычный редактируемый элемент внутри родительского компонента, если этот атрибут не существует, поэтому я бы предпочел не использовать этот подход.