diff --git a/packages/vue-3/src/index.ts b/packages/vue-3/src/index.ts index 094ea365..718398d2 100644 --- a/packages/vue-3/src/index.ts +++ b/packages/vue-3/src/index.ts @@ -1,5 +1,6 @@ export * from '@tiptap/core' export { Editor } from './Editor' export * from './EditorContent' +export * from './useEditor' export * from './VueRenderer' export * from './VueNodeViewRenderer' diff --git a/packages/vue-3/src/useEditor.ts b/packages/vue-3/src/useEditor.ts new file mode 100644 index 00000000..feb93ca0 --- /dev/null +++ b/packages/vue-3/src/useEditor.ts @@ -0,0 +1,17 @@ +import { onMounted, onBeforeUnmount, ref } from 'vue' +import { EditorOptions } from '@tiptap/core' +import { Editor } from './Editor' + +export const useEditor = (options: Partial = {}) => { + const editor = ref() + + onMounted(() => { + editor.value = new Editor(options) + }) + + onBeforeUnmount(() => { + editor.value.destroy() + }) + + return editor +}