У меня есть настраиваемый элемент схемы с узлом текстового атрибута, который отображается как виджет для editingDowncast
:
conversion.for( 'editingDowncast' )
.add( downcastElementToElement({
model: 'myModelElement',
view: (modelElement, viewWriter) => {
return createMyModelWidget( modelElement, viewWriter, 'Label' );
}
} )
);
function createMyModelWidget( modelElement, writer, label ) {
const content = modelElement.getAttribute('content')
const placeholder = writer.createText( content );
const container = writer.createContainerElement( 'div', { class: 'my-model-element--widget' } );
writer.insert( ViewPosition.createAt( container ), placeholder );
return toWidget( container, writer, label );
}
Через какое-то внешнее событие (например, результат внешнего модального окна, которое настраивает виджет), атрибут обновляется с помощью model.change
.
model.change(writer => {
writer.setAttribute( 'attribute', 'whatever', widget );
writer.setAttribute( 'content', 'new content', widget );
});
Теперь, когда его атрибут изменился, я бы ожидал, что виджет будет повторно отрисован, однако это не так. Как я могу вручную запустить обновление, чтобы убедиться, что оно актуально?