mirror of
https://github.com/ueberdosis/tiptap.git
synced 2025-08-06 13:38:49 +08:00
fix: prevent bug when editor is destroyed very fast
This commit is contained in:
parent
5858871ca8
commit
939fc3d93a
@ -87,10 +87,13 @@ export class Editor extends EventEmitter {
|
||||
this.on('destroy', this.options.onDestroy)
|
||||
|
||||
window.setTimeout(() => {
|
||||
if (this.isDestroyed) {
|
||||
return
|
||||
}
|
||||
|
||||
this.commands.focus(this.options.autofocus)
|
||||
this.emit('create', { editor: this })
|
||||
}, 0)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -48,6 +48,10 @@ export const EditorContent: Component = {
|
||||
beforeDestroy(this: EditorContentInterface) {
|
||||
const { editor } = this
|
||||
|
||||
if (!editor) {
|
||||
return
|
||||
}
|
||||
|
||||
if (!editor.isDestroyed) {
|
||||
editor.view.setProps({
|
||||
nodeViews: {},
|
||||
|
@ -56,6 +56,10 @@ export const EditorContent = defineComponent({
|
||||
onBeforeUnmount(() => {
|
||||
const editor = props.editor
|
||||
|
||||
if (!editor) {
|
||||
return
|
||||
}
|
||||
|
||||
// destroy nodeviews before vue removes dom element
|
||||
if (!editor.isDestroyed) {
|
||||
editor.view.setProps({
|
||||
|
Loading…
Reference in New Issue
Block a user