Я создал свой собственный встроенный блот для Quill js ниже:
import Quill from 'quill'
var Inline = Quill.import('blots/inline')
class EmojiBlot extends Inline {
static create(colons) {
let node = super.create()
node.dataset.emoji = colons
node.setAttribute('contenteditable', false)
return node
}
static formats(node) {
return node.getAttribute('data-emoji')
}
}
EmojiBlot.blotName = 'emoji'
EmojiBlot.tagName = 'span'
Quill.register(EmojiBlot, true)
Это работает, но если я последовательно выберу один и тот же блот, они объединятся в один встроенный блот? Я хотел бы, чтобы они были отдельными.
Вот вывод для редактора иглы:
<div>
<span data-emoji=":joy:" contenteditable="false">?</span>
<span data-emoji=":heart_eyes:" contenteditable="false">?</span>
<span data-emoji=":sunglasses:" contenteditable="false">???</span>
</div>
Я выбирал очки для смайликов 3 раза подряд, но они сгруппированы в один тег span. Если я выберу разные смайлики для каждого смайлика солнцезащитных очков, они не будут сгруппированы.
Есть ли настройка для метода create класса Inline, чтобы предотвратить это?