2

我在下面为 Quilljs 创建了我自己的自定义内联印迹:

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 次太阳镜表情符号,但它被分组到一个跨度标签中。如果我在每个太阳镜表情符号之间选择了不同的表情符号,它们将不会被分组。

是否有针对 Inline 类的 create 方法的设置来防止这种情况发生?

4

0 回答 0