优秀的富文本编辑器有很多,比如:UEditor,wangEditor 等,但并不是每个都能在移动端有很好的表现。

我们暂且不讨论移动端是否真的需要富文本,既然有这需求,就把它实现出来。

失败的尝试

正确的选择是成功的开始,开发之前肯定要做一些调研。

通过各种资料搜集,确定了几个备选的:UEditorvue-quill-editorwangEditorvue-html5-editortinymce

UEditor 是百度的老牌富文本编辑器,但界面有一股上世纪的感觉,官网最新的一条动态停留在 2016-05-18。官方已经多年不维护了,但民间教程资料很多,所以最后一个尝试吧,其他的搞不定再用 UEditor

wangEditor 的确让人眼前一亮,用官方的话来说就是轻量、简洁、易用、开源免费。觉得这个不错,首先在项目中尝试它。遗憾的发现 wangEditor 在移动端的表现有些让人失望,比如我要设置一个 H1 标题,时灵时不灵的,有时能设置成功,有时不能,大多数时候都不成功,不知道是不是我操作的问题。

接下来尝试 vue-html5-editor ,看介绍还挺好的。按照教程一顿操作后,编辑器并没有在页面上如期而至… 排查了好多次都没有找到问题在哪里,算了吧… 还好还有其他选择。

终于找到你

然后尝试用vue-quill-editor,之所以一开始不用,是因为文档都是英文的… 英文文档毕竟没有中文看着舒服,所以先尝试有中文文档的框架。谁曾想其他几个太不争气了,只好用这个。在移动端的效果出人意料的好,看一下真实效果:

完美支持各种文字效果,还能插入图片,编辑器的外观也挺好看,就它了!

在项目中使用

在项目中快速集成,需要两个文档:vue-quill-editor 的 github 主页 和 Quill 官网。

基础的使用方式在 vue-quill-editor 都有介绍,如果想做一些个性化配置,就需要看 Quill 官网 关于各种属性的文档了。

下面说一下我集成的步骤:

1. 安装 vue-quill-editor

npm install vue-quill-editor —save
复制代码

2. 全局引入

main.js 中将 vue-quill-editor 引入项目

import Vue from 'vue'
import VueQuillEditor from 'vue-quill-editor'// require styles
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'Vue.use(VueQuillEditor, /* { default global options } */)
复制代码

其中 Vue.use(VueQuillEditor, /* { default global options } */) 第二个参数是 Quill 的配置。在这里我只改了默认的 placeholder 提示语,所以最后一行应该是:

Vue.use(VueQuillEditor, {placeholder: '请输入内容',
});
复制代码

详细的配置请参考 Quill 官网

3. 代码中使用

直接使用 <quill-editor> 标签即可

<template><!-- bidirectional data binding(双向数据绑定) --><quill-editor v-model="content"ref="myQuillEditor":options="editorOption"@blur="onEditorBlur($event)"@focus="onEditorFocus($event)"@ready="onEditorReady($event)"></quill-editor></template>
复制代码

完整代码

上图效果的代码如下:

<template><div class="wrapper"><div class="title" v-html="title"></div><div class="input-wrapper" v-for="(option,index) in options"><div class="sub-title">{{'(' + option.item + ').'}}</div><quill-editor class="editor"v-model="messages[index]"ref="myQuillEditor"@blur="onEditorBlur"@focus="onEditorFocus"@ready="onEditorReady"></quill-editor></div></div>
</template><script>export default {components: {},props: {item: {type: Object,required: true},index: {type: Number,required: true},},data() {return {messages: [],}},methods: {onEditorBlur() {console.log('blur',this.messages)},onEditorFocus(){console.log('focus',this.messages)},onEditorReady(){console.log('ready',this.messages)}}
</script><style lang="scss">.wrapper {width: 100%;display: flex;flex-direction: column;box-sizing: border-box;.title {font-size: $font-size-large;color: $text-main;padding-bottom: px2rem(6);line-height: 150%;}.input-wrapper {display: flex;flex-direction: row;width: 100%;margin: px2rem(5) 0;box-sizing: border-box;.editor{width: 100%;height: px2rem(200);}.sub-title {font-size: $font-size-normal;color: $text-normal;}.field {flex: 1;border: 1px solid $border-third;}}}div.ql-container.ql-snow{height: px2rem(100);}div.ql-editor.ql-blank{height: px2rem(50);}</style>复制代码

与公司业务强相关的部分数据和接口做了删减。

有两个点需要注意:

  1. 编辑器默认的输入框高度很高,导致输入框与其他内容重叠,可通过最后两段样式来更改输入框的高度。

  2. 可以在一个页面上显示多个富文本输入框,本例中就将输入框放在了 v-for 循环里。如何区分每个输入框的值呢?只需在绑定时 v-model="messages[index]" 利用 index 绑定对应的数组位置即可。

以上就是 vue-quill-editor 在实际项目中的使用。

基于 Vue 的移动端富文本编辑器 vue-quill-editor 实战相关推荐

  1. tinymce--一款非常好用的富文本编辑器 VUE如何集成tinymce编辑器

    博客(coder的自我修养)原文链接:tinymce--一款非常好用的富文本编辑器 vue集成tinymce编辑器 - coder的自我修养 TinyMC编辑器简介 TinyMCE是一款易用.且功能强 ...

  2. 在Vue中使用CKEditor5富文本编辑器

    在项目中遇到富文本编辑器需要实现粘贴图片的功能,使用场景:如用户在其他地方截图可以直接在富文本编辑器内粘贴. 找了一圈市面上开源免费的富文本编辑器,最后选中CKEditor.ckeditor  doc ...

  3. android端富文本编辑器HRichEditor

    HRichEditor android端富文本编辑器 项目地址:https://github.com/huangdali/HRichEditor 使用方法见DEMO 所有功能已经实现,期待你的star ...

  4. Vue 中引入markdown富文本编辑器并根据md格式渲染

    Vue 中引入markdown富文本编辑器 在vue组件中,比较好用的是mavon-editor,github文档地址 https://github.com/hinesboy/mavonEditor ...

  5. 如何实现移动端富文本编辑器功能

    移动端富文本编辑器市面非常之少,因客户需求找了不少,不是标题党就是pc端自适应那种无法满足需求,找了好久终于找到了这个artEditor,下载地址:https://gitee.com/lyzmzcom ...

  6. vue移动端富文本编辑器vue-html5-editor

    简介 Intro Vue-html5-editor是一个Vue的富文本编辑器插件,简洁灵活可扩展,适用于vue2.0以上版本,支持IE11. Vue-html5-editor is an html5 ...

  7. ueditor html中使用方法,vue集成百度UEditor富文本编辑器使用教程

    在前端开发的项目中,难免会遇到需要在页面上集成一个富文本编辑器.那么,如果你有这个需求,希望可以帮助到你. vue是前端开发者所追捧的框架,简单易上手,但是基于vue的富文本编辑器大多数太过于精简.于 ...

  8. Vue中使用vue-quil-editor富文本编辑器+el-upload实现带图片上传到SpringBoot后台接口

    场景 系统中经常会用到富文本编辑器,比如新增通知和公告功能,并且需要添加上传图片. vue-quill-editor官网: https://www.npmjs.com/package/vue-quil ...

  9. vue问题四:富文本编辑器上传图片

    vue使用富文本编辑器上传图片: 我是用的是wangEditor 富文本编辑器 demo:http://www.wangeditor.com/ 1).安装依赖:npm install wangedit ...

最新文章

  1. 转载:JMS-ActiveMQ浅析
  2. Xamarin.FormsShell基础教程(6)Shell项目内容详情页面
  3. Karush-Kuhn-Tucker (KKT条件)
  4. Java客户端操作elasticsearch--查询索引库(带分页)
  5. 虚拟机拷贝出来_NETAPP存储虚拟机数据恢复案例
  6. java hashtable 并发_Java 并发容器 —— Hashtable 与 Collections.synchronizedMap(HashMap) 的区别...
  7. JDK7的六个新特性回顾和讲解
  8. Mybatis源码阅读(一):Mybatis初始化1.1 解析properties、settings
  9. leetcode - 64. 最小路径和
  10. 北京科技大学计算机作业,北京科技大学计算机题
  11. python dag调度系统开发_基于DAG的分布式任务调度平台-Maat
  12. 会聊天到底有多重要?汽车语音识别大盘点
  13. 如何解决AttributeError: ‘DataFrame‘ object has no attribute ‘sort‘
  14. 十八、x86汇编基础
  15. caffe安装出现 “error : too few arguments in function call” 的错误
  16. 骑士游历问题——至少需要多少步
  17. 笔记本双显卡Ubantu16.04 Nvidia驱动安装指导
  18. 北大邮箱客户端2018版配置方法(SMTP、POP3)
  19. 学习笔记——经纬度坐标系及定位相关API
  20. c# rar解压大小_C#解压RAR压缩文件

热门文章

  1. (王道408考研操作系统)第二章进程管理-第一节4:进程通信(配合Linux)
  2. BBV:实验基本块向量生成工具
  3. 第七章 Qt对象模型与容器类
  4. KVM虚拟机设置虚拟机的CPU型号与物理机相同
  5. 主机与虚拟机桥接出现ping不通解决方案
  6. mysql常见的运算符及使用
  7. 第2月第5天 arc invocation getReturnValue
  8. 码农的自我修炼之路-----BST
  9. 数据库函数..........
  10. JPBC参数介绍Element,Field,Point等