这个问题可以通过在Tiptap实例中传递新的Keymap,强制让Tiptap认为两个不同的编辑器实例并不相同,即使它们使用的是相同的Y.XmlFragments。
以下是一个示例:
// 创建一个新的Keymap,确保每个Tiptap实例都具有唯一的标识符
const keymap = new Keymap({
'Enter': () => {
console.log('Enter key pressed')
return false
}
})
// 使用新的Keymap创建新的编辑器实例
const editor = new Editor({
extensions: [
keymap
]
})
// 使用相同的Y.XmlFragment在另一个Tiptap编辑器实例中创建另一个Keymap,并将其传递给该实例
const otherEditor = new Editor({
extensions: [
new Keymap({
'Enter': () => {
console.log('Enter key pressed')
return false
}
}, {
schema: editor.schema
})
]
})
在上面的示例中,我们创建了一个新的Keymap,并将其用于创建一个Tiptap编辑器实例。然后,我们创建了另一个编辑器实例,并使用相同的schema但不同的Keymap。通过这种方式,我们可以确保两个编辑器实例不会被视为相同,即使它们使用了相同的Y.XmlFragments。
上一篇:不同的条件下没有记录