我在QuillJS中创建了一些自定义墨迹。它们主要起作用,但是我在复制和粘贴印迹方面存在问题,并认为这是因为没有提供index(node: Node, offset: number): number
或position(index: number, inclusive: boolean): [Node, number]
实现。
印迹属于blots/embed
类型。它们生成的标记看起来像(我添加了sample
和spellcheck
属性,并生成包含图标和一些文本的内容):
<sfx sample="A Sample" spellcheck="false">

<span contenteditable="false"><i class="btr bt-volume-up"></i>A Sample</span>

</sfx>
如果我试图单独选择印迹然后复制并粘贴我只获得粘贴的sfx标签的内容,而不是新的嵌入实例...(顶部嵌入是预期的格式,底部是什么它看起来像粘贴时。蓝色边框显示选择)。
如果我选择印迹并在选择中包含任何其他内容,例如左侧的空格,复制/粘贴按预期工作。
我确实想要默认选择行为,即嵌入选择作为一个整体,其行为类似于长度为1。
我无法在index
和position
(假设是原因?)中做些什么来完成这项工作。任何人都可以通过描述我需要做什么来解释,并解释这些回调应该如何表现(羊皮纸文档中的描述有点薄)。做类似事情的参考实现就足够了,我已经看过内置于羽毛笔中的嵌入物,但它们似乎没有帮助。