You need to access the ref actual value with .value

editor.value?.commands.setContent('<p>test</p>', false)
Answer from Pierre Said on Stack Overflow
🌐
Tiptap
tiptap.dev › editor › get started › install
Vue 3 | Tiptap Editor Docs
3 days ago - npm install @tiptap/vue-3 @tiptap/pm @tiptap/starter-kit
🌐
npm
npmjs.com › package › @tiptap › vue-3
tiptap/vue-3
Vue components for tiptap. Latest version: 3.13.0, last published: 4 days ago. Start using @tiptap/vue-3 in your project by running `npm i @tiptap/vue-3`. There are 443 other projects in the npm registry using @tiptap/vue-3.
      » npm install @tiptap/vue-3
    
Published   Dec 05, 2025
Version   3.13.0
Homepage   https://tiptap.dev
🌐
GitHub
github.com › neverbot › vue-tiptap
GitHub - neverbot/vue-tiptap: Example of using tiptap as a Vue component without being completely renderless.
It can be imported as a Vue 3 component, and you can see in the example directory how it would be used inside your application. Note: now tiptap has their own examples and components for different frameworks (including vue 2 and vue 3), so maybe you should take a look to the official package @tiptap/vue-3.
Starred by 87 users
Forked by 11 users
Languages   Vue 47.2% | SCSS 28.3% | JavaScript 22.6% | HTML 1.9%
🌐
GitHub
github.com › MoisesDuarte › vue-tiptap
GitHub - MoisesDuarte/vue-tiptap: Vue 3 + Tiptap Rich Text Editor
Vue 3 + Tiptap Rich Text Editor. Contribute to MoisesDuarte/vue-tiptap development by creating an account on GitHub.
Author   MoisesDuarte
🌐
Tiptap
tiptap.dev › editor › extensions › custom extensions › node views
Vue node views | Tiptap Editor Docs
4 days ago - // Vue 3 import { defineComponent } from 'src/content/editor/extensions/custom-extensions/node-views/vue.mdx' import { nodeViewProps } from '@tiptap/vue-3' export default defineComponent({ props: nodeViewProps, }) // Vue 2 import Vue from 'src/content/editor/extensions/custom-extensions/node-views/vue.mdx' import { nodeViewProps } from '@tiptap/vue-2' export default Vue.extend({ props: nodeViewProps, }) To make your node views draggable, set draggable: true in the extension and add data-drag-handle to the DOM element that should function as the drag handle.
🌐
JavaScript in Plain English
javascript.plainenglish.io › full-page-rich-content-editor-vue-component-with-tiptap-725ca74a1d9e
Turning TipTap into a Reusable Full-Page Vue Component | by Logan Fox | JavaScript in Plain English
August 1, 2023 - You’re free to use any tooling you like but for this example I am using the Vue 3 composition api as well as TailwindCSS for styling. I’m also going to assume that you have a working knowledge of VueJs or your Js framework of choice. That being said, this is not a complete application setup but rather a simple, reusable component demo. I should also note that I’ll be using Typescript in this example. The first step is to install the required dependencies. For a Vue environment, they are as follows: npm install @tiptap/vue-3 @tiptap/pm @tiptap/starter-kit
🌐
Tiptap
tiptap.dev › tiptap-editor-v3
Tiptap Editor 3.0
Experience JSX support within Tiptap's renderHTML method, offering a modern and intuitive approach of describing the content of a Node as you might do in modern frameworks like React/Vue.
Find elsewhere
🌐
CodeSandbox
codesandbox.io › examples › package › @tiptap › vue-3
tiptap/vue-3 examples
Use this online @tiptap/vue-3 playground to view and fork @tiptap/vue-3 example apps and templates on CodeSandbox.
🌐
GitHub
github.com › yikoyu › vuetify-pro-tiptap
GitHub - yikoyu/vuetify-pro-tiptap: A Rich Text Editor (WYSIWYG) for Vue3 with tiptap & Vuetify.
<script setup lang="ts"> import type { Editor } from '@tiptap/vue-3' import { mdiClose, mdiFileCodeOutline } from '@mdi/js' import { ref } from 'vue' import { ActionButton } from 'vuetify-pro-tiptap' interface Props { editor: Editor tooltip?: string disabled?: boolean } const props = withDefaults(defineProps<Props>(), { tooltip: undefined, disabled: false }) const dialog = ref(false) const maxWidth = ref<number>(900) </script> <template> <ActionButton tooltip="全屏" :disabled="disabled"> <VIcon>{{ `svg:${mdiFileCodeOutline}` }}</VIcon> <VDialog v-model="dialog" fullscreen hide-overlay activa
Starred by 257 users
Forked by 45 users
Languages   TypeScript 58.6% | Vue 31.6% | SCSS 8.4% | JavaScript 1.2% | HTML 0.2%
🌐
Vue-plugins
vue-plugins.org › plugins › vue-tiptap
Tiptap Vue - Vue.js Plugin
Headless rich-text editor framework for Vue 3 with collaborative editing.
🌐
Tiptap
tiptap.dev › examples
Examples | Tiptap Editor Docs
6 hours ago - Add a custom NodeView with drawing support to your Tiptap Editor. Allow users to mention others in your documents. Enforce specific content structures like headings in your editor. Make your editor clever with custom replacement extensions. Use React or Vue components in your Tiptap Editor content.
🌐
DEV Community
dev.to › jsandaruwan › how-to-use-tiptap-editor-with-vue-3-4n3l
How to Use TipTap Editor with Vue 3 - DEV Community
October 31, 2025 - TipTap is a powerful, flexible editor for Vue 3, especially suited for developers who want to build custom editing experiences. While it requires more setup than TinyMCE, its open-source core and extensibility make it a great choice for projects ...
🌐
Tiptap
tiptap.dev › editor › get started › install
Nuxt | Tiptap Editor Docs
1 week ago - npm install @tiptap/vue-3 @tiptap/pm @tiptap/starter-kit
🌐
Tiptap
tiptap.dev › guides
Upgrade v2 to v3 | Tiptap Collaboration Docs
2 days ago - // Plain JS import { Mark } from '@tiptap/core' Mark.create({ // Other options... addMarkView() { return ({ mark, HTMLAttributes }) => { const dom = document.createElement('b') const contentDOM = document.createElement('span') dom.appendChild(contentDOM) return { dom, contentDOM, } } }, }) // React import { Mark } from '@tiptap/core' import { ReactMarkViewRenderer } from '@tiptap/react' Mark.create({ // ... other options addMarkView() { return ReactMarkViewRenderer(YourComponent) }, }) // Vue 3 import { Mark } from '@tiptap/core' import { VueMarkViewRenderer } from '@tiptap/vue-3' Mark.create({ addMarkView() { return VueMarkViewRenderer(Component) }, })
🌐
GitHub
github.com › Leecason › element-tiptap
GitHub - Leecason/element-tiptap: 🌸A modern WYSIWYG rich-text editor using tiptap and Element UI for Vue3 (1.0 for Vue2)
🌸A modern WYSIWYG rich-text editor using tiptap and Element UI for Vue3 (1.0 for Vue2) - Leecason/element-tiptap
Starred by 1.5K users
Forked by 175 users
Languages   TypeScript 59.3% | Vue 32.8% | SCSS 7.6%
🌐
YouTube
youtube.com › andre madarang
Tiptap Editor with Vue.js, Tailwind CSS and Laravel - YouTube
Tiptap is a modern, headless WYSIWYG editor that can be easily integrated into your web applications. It has support for modern JavaScript frameworks like Re...
Published   October 9, 2023
Views   14K