Quill — заставить редактор переносить текст в Div вместо тега P

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

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

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

Спасибо.


person Kurt William    schedule 03.08.2017    source источник


Ответы (1)


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

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

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

person jhchen    schedule 07.08.2017
comment
Это делает то, о чем спрашивал вопрос, но я заметил, что он также добавляет в конец дополнительную пустую строку (‹div›‹br›‹/div›), в то время как поведение блока по умолчанию ‹p› этого не делает. Любой способ предотвратить лишнюю пустую строку? - person georaldc; 19.07.2018
comment
@georaldc вам удалось решить эту проблему или получить ответ от jhchen? - person MattoMK; 09.03.2021
comment
В моем случае я просто сделал это, так как не хотел сохранять разметку, если ничего не было введено: MyQuill.getText().trim().length == 0 ? : MyQuill.root.innerHTML; - person MattoMK; 15.03.2021
comment
Из кода (github.com/quilljs/quill/blob/develop /blots/block.js#L127): Block.defaultChild = Break; попробуй заменить. - person Dmitry; 15.06.2021