vue中使用element-tiptap富文本编辑器
element-tiptap富文本编辑器
npm安装
npm install element-tiptap --save
yarn安装
yarn add element-tiptap
全局引入
import Vue from 'vue';
import ElementUI from 'element-ui';
import { ElementTiptapPlugin } from 'element-tiptap';
// 引入 ElementUI 样式
import 'element-ui/lib/theme-chalk/index.css';
// 引入 import element-tiptap 样式
import 'element-tiptap/lib/index.css';// 安装 ElementUI 插件
Vue.use(ElementUI);
// 安装 element-tiptap 插件
Vue.use(ElementTiptapPlugin, {lang: 'zh', // 设置语言为中文
});
局部引入
<script>
import {ElementTiptap,// 需要的 extensionsDoc,Text,Paragraph,Heading,Bold,Underline,Italic,Strike,ListItem,BulletList,OrderedList,Link,Image,CodeBlock,Blockquote,TodoItem,TodoList,TextAlign,FontSize,FontType,Fullscreen,TextHighlight,TextColor,FormatClear,Table,TableHeader,TableCell,TableRow,History,TrailingNode,HardBreak,HorizontalRule,LineHeight,Indent
} from 'element-tiptap';export default {data () {// 编辑器的 extensions// 它们将会按照你声明的顺序被添加到菜单栏和气泡菜单中return {extensions: [new Doc(), // 必须项new Text(), // 必须项new Paragraph(), // 必须项new Heading({ level: 6 }), // 标题new Bold({ bubble: true }), // 加粗 bubble: true 在气泡菜单中渲染菜单按钮new Underline({ bubble: true, menubar: false }), // 下划线 bubble: true, menubar: false 在气泡菜单而不在菜单栏中渲染菜单按钮new Italic({ bubble: true }), // 斜体new Strike({ bubble: true }), // 删除线new ListItem(), // 使用列表必须项new BulletList({ bubble: true }), // 无序列表new OrderedList({ bubble: true }), // 有序列表new Link(), // 链接new Image(), // 图片new CodeBlock({ bubble: true }), // 代码块new Blockquote(), // 引用new TodoItem(), // 任务列表必须项new TodoList(), // 任务列表new TextAlign({ bubble: true }), // 文本对齐方式new FontSize({ bubble: true }), // 字号new FontType({ bubble: true }), // 字体new Fullscreen(), // 全屏new TextHighlight({ bubble: true }), // 文本高亮new TextColor({ bubble: true }), // 文本颜色new FormatClear({ bubble: true }), // 清除格式new Table({ resizable: true }), // 表格new TableHeader(), // 表格必须项new TableCell(), // 表格必须项new TableRow(), // 表格必须项new History(), // 撤销new TrailingNode(), // 重做new HardBreak(), // 分割线new HorizontalRule(), // 行距new LineHeight(), // 增加缩进new Indent() // 减少缩进],// 编辑器的内容content: `<h1>Heading</h1><p>This Editor is awesome!</p>`,};},
},
</script>
注意:局部引入同样需要在main.js中引入element-tiptap样式文件
// 引入 import element-tiptap 样式
import 'element-tiptap/lib/index.css';
使用
<template><div><el-tiptapv-model="content":extensions="extensions"lang="zh"/></div>
</template>
注意:如果使用的是局部引入,需要在使用的时候指定
lang="zh"
,否则会报错
自定义图片上传
element-tiptap的本地图片上传默认将图片转换成base64格式,然后与内容保存在一起,可以在extensions中自定义图片的上传方式
new Image({// 自定义图片上传(默认会把图片生成base64字符串和内容存储到一起)// 返回一个 Promise<url>uploadRequest(file) {// 自定义图片上传方式}
}),
报错(Duplicate use of selection JSON ID cell)
找到根目录下的 node_modules/tiptap-extensions/node-modules
,将最后的 node-modules
改为node-modules–
,即可解决
element-tiptap中文文档
vue中使用element-tiptap富文本编辑器相关推荐
- vue中引入TinyMCE实现富文本编辑器
整片文章是以vue2.X 引入tinymce富文本编译器 首先,先确认你的vue版本是 2 还是 3 ,查看项目的package.json中vue的版本,我的是2.5.2 一共两个步骤 vue工程中安 ...
- element ui富文本编辑器的使用(quill-editor)
element ui富文本编辑器的使用(quill-editor) 文章目录 element ui富文本编辑器的使用(quill-editor) 效果展示:(可以上传图片及其视频) 第一步.首先安装富 ...
- 强悍!基于Vue的无渲染的富文本编辑器——tiptap!
介绍 tiptap编辑器基于Prosemirror,完全可扩展且无渲染.可以轻松地将自定义节点添加为Vue组件. Github https://github.com/scrumpy/tiptap 为什 ...
- 控制富文本table不能超过div宽度_强悍!基于Vue的无渲染的富文本编辑器——tiptap!...
介绍 tiptap编辑器基于Prosemirror,完全可扩展且无渲染.可以轻松地将自定义节点添加为Vue组件. Github https://github.com/scrumpy/tiptap 为什 ...
- vue中如何使用wangEditor 富文本框
在做后台管理项目时常常会用到富文本编辑器,在这里推荐大家使用wangEditor,亲测好用 话不多说先上图 第一步安装 npm wangeditor --save 第二步在项目中使用 先建立一个wan ...
- vue实战025:配置TinyMCE富文本编辑器
目录 组件安装 组件引用 添加模板 初始化编辑器 常用属性配置 扩展插件使用 之前分享了一篇vue实战021:Vue-Quill-Editor富文本编辑器使用,有网友说TinyMCE更好用,所以今天来 ...
- VUE快速简单搭建UEditor富文本编辑器
效果图如下所示 Installation npm i vue-ueditor-wrap 下载 UEditor 官网链接: http://ueditor.baidu.com/website/downlo ...
- element ui 富文本编辑器
安装 cnpm install vue-quill-editor -s<el-form-item label="推送内容"> <!-- <el-input ...
- Vue中TipTap富文本编辑器的输入框内部分样式无法显示
在这个问题上卡了好几天,后来才发现是scoped的问题.在自己写的样式上加上scoped,Tiptap编辑器的输入框样式放在另外一个<style>里,不加scoped就行了 如下图,上面的 ...
- vue+tiptap ,基于vue的无渲染的富文本编辑器
安装tiptap 官网: github:https://github.com/ueberdosis/tiptap 演示:https://www.vue365.cn/code_demo.php?id=9 ...
最新文章
- appium()-The event firing
- C++ 中的 #pragma warning(push) 和 #pragma warning(pop)有什么用
- linux awk菜鸟教程,Linux awk 命令
- C++中XML的读写操作(生成XML 解析XML)
- sql 教程_SQL
- 卷积神经网络发展简史
- Oracle Data Guard的配置
- html5怎么联网,HTML5--离线web应用
- SeetafaceV6人脸定位/识别/年龄预测/性别预测/口罩有无/眼睛睁闭
- 做跨境不知道选什么类目,看看这些常青树类目
- 真正的高手,都在自讨苦吃——数显之家快讯之【SHIO世硕心语】
- Uint8 Uint16等的区别
- 公里与英里的换算c语言函数_80迈=80迈=80公里?过年了许多开车回家的老司机都未必清楚!...
- not allowed to launch “localhost:81/XXXXX“
- 【毕业设计】基于springboot的小区智慧物业管理系统
- JDK8新特性详解Lambda、StreamAPI、Optional等
- Error: stat_count() can only have an x or y aesthetic Run `rlang::last_error()` to see where the err
- 普林斯顿大学颜宁教授宣布全职加盟深圳医学科学院
- 一部手机就能搞定!3分钟教你制作专属片头片尾,简单易懂
- python cad 提取高程点_CAD地形图如何提取出高程点文件?
热门文章
- linux 查询文件大小M为单位
- 如何使用Tera Term Language (TTL)
- 若依框架----登录界面美化
- 如何利用百度图片搜索进行引流?原理是怎样的?
- English Learning - L2-14 英音地道语音语调 重音技巧 2023.04.10 周一
- kafka消息系统-海量数据迁移方案
- 随机森林算法的Python实现
- 知乎热议:“所有专业都在劝退”,对大学生最友好的竟是它?
- hackbar2.1.3免费版本使用教程
- 初遇Flarum_搭建安装的遇坑填坑过程