#angular #ckeditor5
Вопрос:
Я пытаюсь заставить CKEditor5 вставлять пользовательский класс в тег изображения при получении данных из редактора.
напр.:
Изображения в пользовательском интерфейсе редактора CKEditor будут вставлены по умолчанию как:
lt;img src='...' /gt;
При сохранении тег изображения будет сгенерирован как:
lt;figuregt; lt;img src='...' /gt; lt;figcaptiongt;test captionlt;/figcaptiongt; lt;/figuregt;
Я хочу, чтобы вывод изображения был:
lt;figuregt; lt;img src='...' class='cusotm-class' /gt; lt;figcaptiongt;test captionlt;/figcaptiongt; lt;/figuregt;
Обратите внимание на атрибут класса в img
теге
Я знаю, что мне нужно использовать понижающий конвертер, но я заблудился в процессе, вот мой понижающий код
export function AddClassToImage(editor: any) { editor.conversion.for('downcast').add((dispatcher: any) =gt; { dispatcher.on('insert:image', (evt: any, data: any, conversionApi: any) =gt; { if (!conversionApi.consumable.consume(data.item, 'insert')) { return; } let viewWriter = conversionApi.writer; let viewFigure = editor.editing.mapper.toViewElement(data.item); viewWriter.addClass("img-fluid", viewFigure); evt.stop(); }); }); }
Предыдущий код генерирует ошибку viewWriter.addClass("img-fluid", viewFigure);
, потому viewWriter
что undefined
Окружающая среда: Угловая 11
есть какие-нибудь идеи по поводу решения? большое спасибо