Skip to content

三套 Adapter

项目提供三个开箱即用 Adapter:

组件UI 库
tiptap-vue-pro-element-plusProEditorElementPlusElement Plus
tiptap-vue-pro-naiveProEditorNaiveNaive UI
tiptap-vue-pro-ant-design-vueProEditorAntDesignVueAnt Design Vue

三套 Adapter 的 props、slots、配置对象保持对等。业务里切换 UI 库时,主要替换组件名、样式入口和 UI 库依赖。

vue
<ProEditorElementPlus
  v-model="content"
  :toolbar="toolbar"
  :toolbar-options="toolbarOptions"
  :editor-behavior-options="editorBehaviorOptions"
/>
vue
<ProEditorNaive
  v-model="content"
  :toolbar="toolbar"
  :toolbar-options="toolbarOptions"
  :editor-behavior-options="editorBehaviorOptions"
/>
vue
<ProEditorAntDesignVue
  v-model="content"
  :toolbar="toolbar"
  :toolbar-options="toolbarOptions"
  :editor-behavior-options="editorBehaviorOptions"
/>

边界

共享编辑器行为放在 tiptap-vue-pro-core;弹窗、菜单、提示、样式和组件渲染放在各 Adapter。这样可以保持三套 UI 体验对等,同时不把某个 UI 库的组件名或 CSS 变量泄漏到另一个 Adapter。

怎么选择

你的项目推荐
已经使用 Element Plustiptap-vue-pro-element-plus
已经使用 Naive UItiptap-vue-pro-naive
已经使用 Ant Design Vuetiptap-vue-pro-ant-design-vue
想完全自定义工具栏和弹窗tiptap-vue-pro-core

如果团队内部同时有多套 UI 库,建议把业务层的 toolbartoolbarOptionseditorBehaviorOptions 配置抽成共享对象,不同项目只替换 Adapter 组件。

基于 Tiptap v3 + Vue 3 的社区封装。