Quill - заставьте редактор обернуть текст в Div вместо тега P

Я создал текстовый редактор Quill в ReactJS с React-Quill. Я хотел бы обернуть сгенерированный текст в текстовом редакторе тегом Div вместо тега P. Это возможно?

Обзор моего использования: когда текст генерируется / редактируется в редакторе Quill, он дублируется в другом элементе div в другой части страницы. Мы используем этот редактор несколько лет назад, и поэтому он был основан на более старой версии Quill, когда текст был сгенерирован в Div. Недавно мы обновились до Quill 1.0, и когда текст генерируется в P-тегах, он создает нежелательные стили, которые мы не можем удалить. Самое простое и наименее хакерское решение - генерировать теги div вместо p, но я понятия не имею, возможно ли это.

Кто-нибудь знает больше об этом?

Спасибо.

3 ответа

Решение

Вы можете просто изменить tagName блока по умолчанию:

var Block = Quill.import('blots/block');
Block.tagName = 'div';
Quill.register(Block);

Рабочий пример: https://codepen.io/anon/pen/brgvPR

Это сработало для меня. Я использую next.js

      import dynamic from 'next/dynamic';

const ReactQuill = dynamic(async () => {
        const ReactQuill = await import('react-quill');
        const { Quill } = ReactQuill.default;
        const Block = Quill.import('blots/block');
        Block.tagName = 'div';
        Quill.register(Block);

        return ReactQuill;
    }, { ssr: false });

У меня есть это в родном Javascript, и это сработало для меня:

      var Block = Quill.import('blots/block');
Block.tagName = 'div';
Block.blotName = "P";
Quill.register(Block);
Другие вопросы по тегам