当前位置: 首页 > news >正文

Element Tiptap富文本编辑器:Vue3项目5分钟接入带菜单的WYSIWYG编辑器

Element Tiptap富文本编辑器:Vue3项目5分钟接入带菜单的WYSIWYG编辑器

【免费下载链接】element-tiptap🌸A modern WYSIWYG rich-text editor using tiptap and Element UI for Vue3 (1.0 for Vue2)项目地址: https://gitcode.com/gh_mirrors/el/element-tiptap

element-tiptap 是基于 tiptap 2 与 Element Plus 构建的 Vue 3 富文本编辑器(WYSIWYG),面向需要带工具栏的富文本内容编辑场景。

一句话说清

它把 tiptap 编辑内核、Element Plus 风格工具栏与悬浮气泡菜单打包成一个 Vue 3 组件,菜单按钮由扩展声明顺序自动生成,不用手写工具栏布局。与只暴露内核的方案相比,它省掉的是"从扩展拼出可用界面"这一整层工作:

  • 声明即菜单:扩展数组的顺序就是工具栏按钮顺序,.configure()可单独控制某功能进工具栏还是气泡菜单
  • 覆盖全场景:内置 31 个扩展,从加粗、任务列表到表格、代码视图均有现成实现
  • 双格式输出:output支持'html'或 ProseMirror 结构的'json',存取两端都方便
  • 类型完备:TypeScript 编写,props、事件与扩展均有类型提示

3 分钟上手

三步接入,前提是你的项目已安装 element-plus:

  1. 安装依赖,命令行一条搞定:
npm install --save element-tiptap
  1. 在入口文件注册插件并引入样式,全局注册出el-tiptap组件:
import { createApp } from 'vue'; import ElementPlus from 'element-plus'; import ElementTiptapPlugin from 'element-tiptap'; import 'element-tiptap/lib/style.css'; const app = createApp(App); app.use(ElementPlus); app.use(ElementTiptapPlugin); app.mount('#app');
  1. 在页面组件里写最小示例,内容用v-model:content双向绑定,菜单能力由extensions数组决定:
<template> <el-tiptap v-model:content="content" :extensions="extensions" /> </template> <script setup> import { ref } from 'vue'; import { Doc, Text, Paragraph, Bold, Heading } from 'element-tiptap'; const content = ref('<p>开始编辑</p>'); const extensions = [Doc, Text, Paragraph, Heading, Bold]; </script>

核心用法就一条规则:你声明哪些扩展,工具栏就出现哪些按钮;用.configure({ bubble: true, menubar: false })之类的写法,可以把按钮只放进气泡菜单。

功能全景

排版与标记

基础写作能力全部内置:粗体、斜体、下划线、删除线,H1–H6 标题,引用、代码块、任务列表,左右居中及两端对齐、缩进,字号与字体族、文字颜色、高亮和一键清空格式。菜单按钮的 tooltip 提示随语言包切换。

链接与多媒体

选中文字后可通过气泡菜单快速编辑或打开链接;Image提供插入、编辑、调整位置与删除按钮;Iframe支持内嵌视频等外部页面,适合产品文档和知识库里嵌演示视频的场景。

代码视图与只读输出

CodeView一键切换 HTML 源码查看模式,便于校对结构;Readonly模式配合output="html"适合渲染已存内容。

功能适用场景
图片插入与编辑图文内容平台、CMS
Iframe 嵌入产品文档嵌视频演示
表格参数对比、数据展示
撤销重做长文编辑防误操作
12 种语言多语言后台界面

表格、打印、全选、清空格式、撤销重做与字数统计均已内置,不需要额外拼装。

源码速查

  • 核心组件:编辑器主体,props 与事件都定义在这里
  • 31 个扩展:每个能力一个文件,便于按需取用
  • 工具栏按钮:所有菜单命令按钮的实现
  • 气泡菜单:选中文本后的悬浮操作菜单
  • 12 种语言包:中、英、日等文案文件

其余细节通过 props 与事件暴露,具体行为以官方文档为准。

谁适合用

  • Vue 3 项目里需要带 UI 的富文本编辑器,而不想自己拼 tiptap 界面
  • 已依赖 element-plus 的后台系统,需要风格统一的编辑组件
  • 内容产品要图片、表格、iframe、代码视图这类现成能力

不适合的情况:只需要一个简单 HTML 输入框、纯服务端渲染项目、对菜单样式有完全自定义要求,或项目仍是 Vue 2 的读者。

装依赖、注册插件、传一个扩展数组,编辑能力就到位了。建议先跑一遍官方 demo 感受气泡菜单和代码视图的交互,再定自己项目的菜单配置。

【免费下载链接】element-tiptap🌸A modern WYSIWYG rich-text editor using tiptap and Element UI for Vue3 (1.0 for Vue2)项目地址: https://gitcode.com/gh_mirrors/el/element-tiptap

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4159629.html

相关文章:

  • SPA 刷新 404 难题终结者:boot-react SinglePageAppConfig pushState 资源解析器深度剖析
  • 我的价值观
  • 如何使用 draw.io 桌面版:离线绘图与批量导出完整指南
  • CEdev 图形编程完全指南:graphx 库调色板、精灵动画与 Tilemap 实战教程
  • iOS跨平台位置模拟实战:基于WebKit调试协议实现GeoPort方案
  • Weasis:内建 2D/3D 影像分析的开源 DICOM 查看器
  • res-downloader完全教程:免费的跨平台资源嗅探器,一键下载视频音乐图片
  • PhoneProfilesPlus新手必学的8个实用场景:会议自动静音、通勤一键飞行模式
  • 让Claude Code、Codex与Gemini协同工作:Agent Relay Harnesses完整指南
  • 训练UniDetector前必看的20+个关键超参数:完整配置项逐条解读
  • 快速上手solid-dnd:10分钟从零搭建你的第一个拖拽应用,新手友好教程
  • 如何系统掌握高级数据结构?AlgorithmsAndDataStructuresInAction官方代码库入门指南
  • Vue-preview 图片预览:新手安装与上手完整指南
  • ShawzinBot:免费把 MIDI 变成游戏按键
  • 如何重置 Navicat 试用期:3 条命令跑通 navicat-key 注册表清理工具
  • ODC 生产环境部署最佳实践:MetaDB、Docker 与高可用架构配置全解析
  • 让联邦查询提速10倍:aws-athena-query-federation谓词下推、分区裁剪与TopN优化实战
  • MobilityDB高精度建模:tpose四元数姿态类型如何描述自动驾驶与机器人运动
  • TeslaLogger新功能MCP Server详解:用自然语言向AI查询你的特斯拉数据
  • B站视频下载完全指南:5 分钟跑通 BilibiliDown,把喜欢的内容存进本地
  • Rollbar.js Node.js 接入实战:Express 服务端错误追踪的 5 步配置法
  • paperetl PubMed 高级过滤教程:用 MeSH 编码与关键词精准筛选科研文献
  • 读懂 Apktool ApkInfo:APK 元数据的存储、加载与回写
  • MusicPlayer2:免费开源的本地音乐播放器,10分钟讲透歌词、封面与音效
  • hubot-rocketchat架构深潜:hubot-meteorchat驱动模型与@rocket.chat/sdk响应式订阅完整指南
  • 一文掌握grafar.map:响应式依赖追踪与自动拓扑推断完全教程
  • 如何快速上手XRNeRF:Neural Radiance Field环境部署完整指南(含Docker一键搭建与避坑清单)
  • 122、双摄/多摄标定——外参标定与视差校正的产线实现与精度控制
  • 如何为Service Worker写测试?serviceworker-rails完整测试套件逐例解析
  • 告别误删生产集群:zsh-kubectl-prompt最佳实践清单与K8s终端效率提升总结