vue完美解决vue-quill-editor初始化自动聚焦问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue完美解决vue-quill-editor初始化自动聚焦问题相关的知识,希望对你有一定的参考价值。
参考技术A 一、初始化时令vue-quill-editor失效二、点击富文本框时令quill-editor生效,并聚焦
vue-quill-editor 富文本编辑器插件介绍
Iblog项目中博文的文本编辑器采用了vue-quill-editor插件,本文将简单介绍其使用方法。
引入配置
- 安装模块
npm install vue-quill-editor --save
- index.js中引入组件
import VueQuillEditor from ‘vue-quill-editor‘ import ‘quill/dist/quill.core.css‘ import ‘quill/dist/quill.snow.css‘ import ‘quill/dist/quill.bubble.css‘ Vue.use(VueQuillEditor)
注意必须引入样式,否则会出现编辑器排版的混乱。
- 组件中注册
// 在<script></script>之间插入 import { quillEditor, Quill } from ‘vue-quill-editor‘ // 工具栏配置 const toolbarOptions = [ [‘bold‘, ‘italic‘, ‘underline‘, ‘strike‘], [‘blockquote‘, ‘code-block‘], [{‘list‘: ‘ordered‘}, {‘list‘: ‘bullet‘}], [{‘indent‘: ‘-1‘}, {‘indent‘: ‘+1‘}], [{‘color‘: []}, {‘background‘: []}], [{‘align‘: []}], [‘link‘, ‘image‘], [‘clean‘], [{‘size‘: [‘small‘, false, ‘large‘, ‘huge‘]}], [{‘header‘: [1, 2, 3, 4, 5, 6, false]}], [{‘font‘: []}] ] export default { data () { return { ... editorOption: { placeholder: ‘提示语‘, modules: { toolbar: { container: toolbarOptions, ... } } } ... } }, ... components: { ‘quill-editor‘: quillEditor }, ... }
- 使用组件
<div class="quill-box"> <template> <quill-editor v-model="content" :options="editorOption" ref="content"> </quill-editor> </template> </div>
经过上述配置即可使用quill富文本编辑器了。
更改图片按钮的事件函数
由于quill插件默认插入图片是base64格式的,若图片较大会引起内容太大无法保存到数据库里面,这样为了上传图片或者插入网络图片,要先更改图片按钮的事件下函数,具体是在editorOption->modules->toolbar中加入handlers对象,并插入名称为image的函数,函数的内容设定为自身所需内容,如下
data () { return { content: ‘‘, editorOption: { ... modules: { toolbar: { container: toolbarOptions, handlers: { ‘image‘: function (value) { if (value) { // 自定义内容 } else { this.quill.format(‘image‘, false) } } } } } } }
插入图片网络图片
若想插入来自网络的图片,即提供图片网址,可以加入以下语句
const range = this.quill.getSelection() const value = prompt(‘提示语‘) this.quill.insertEmbed(range.index, ‘image‘, value, Quill.sources.USER)
但是这种方法嵌入的图片暂时不支持调整图片大小。
使用样式渲染内容
使用该插件所保存的内容需经过原样式渲染才能还原编辑时的效果,配置方法为,在<div>标签中加入ql-editor样式,并且内容需为html格式呈现
<div class="ql-editor" v-html="articleContent"></div>
以上是关于vue完美解决vue-quill-editor初始化自动聚焦问题的主要内容,如果未能解决你的问题,请参考以下文章
IDEA:vue中缺少vue-quill-editor富文本插件
vue-quill-editor,WangeEitor实现富文本编辑器