vue使用Vue-Quill-Editor富文本编辑器(附加工具栏title、图片大小修改功能)

这篇博客介绍了如何在Vue项目中使用Vue-Quill-Editor,包括安装、组件封装和在文件中的引用。作者还详细讲解了如何为工具栏添加title提示以及实现图片尺寸修改功能,包括创建qulEditor.js、安装插件、修改webpack配置和更新组件代码。教程中给出了每个步骤的详细操作,并提供了完成这些附加功能后的完整代码示例。
摘要由CSDN通过智能技术生成

本来是想用tinymac富文本编辑器的,不过参考网上的教程弄了很久都没有解决图片预览的问题。所以就改用了Vue-Quill-Editor,发现这个使用起来还是很方便的。下面上教程:

1、安装Vue-Quill-Editor

npm install vue-quill-editor -s

2、封装Vue-Quill-Editor组件

自行创建一个quEditor.vue文件,写入下面代码:

<template>
  <div>
    <quill-editor v-model="content" ref="myQuillEditor" class="editor" :options="editorOption" @blur="onEditorBlur($event)" @focus="onEditorFocus($event)" @change="onEditorChange($event)">
    </quill-editor>
    <div>
      {
   {
   content}}
    </div>
  </div>
</template> 
<script>
// require styles 引入样式
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import {
    quillEditor } from 'vue-quill-editor'
// 工具栏配置
const toolbarOptions = [
  ['bold','italic', 'underline', 'strike'], // 加粗 斜体 下划线 删除线 -----['bold', 'italic', 'underline', 'strike']
   ['blockquote', 'code-block'], // 引用  代码块-----['blockquote', 'code-block']
  [{
    header: 1 }, {
    header: 2 }], // 1、2 级标题-----[{ header: 1 }, { header: 2 }]
   [{
    list: 'ordered' }, {
    list: 'bullet' }], // 有序、无序列表-----[{ list: 'ordered' }, { list: 'bullet' }]
   [{
    script: 'sub' }, {
    script: 'super' }], // 上标/下标-----[{ script: 'sub' }, { script: 'super' }]
  [{
    indent: '-1' }, {
    indent: '+1' }], // 缩进-----[{ indent: '-1' }, { indent: '+1' }]
   [{
   'direction': 'rtl'}], // 文本方向-----[{'direction': 'rtl'}]
   [{
    size: ['small', false, 'large', 'huge'] }], // 字体大小-----[{ size: ['small', false, 'large', 'huge'] }]
   [{
    header: [1, 2, 3, 4, 5, 6, false] }], // 标题-----[{ header: [1, 2, 3, 4, 5, 6, false] }]
   [{
    color: [] }, {
    background: [] }], // 字体颜色、字体背景颜色-----[{ color: [] }, { background: [] }]
   [{
    font: [] }], // 字体种类-----[{ font: [] }]
  [{
    align: [] }], // 对齐方式-----[{ align: [] }]
  ['clean'], // 清除文本格式-----['clean']
  ['image'] // 链接、图片、视频-----['link', 'image', 'video']
]
export default {
   
  components: {
    quillEditor },
  data () {
   
    return {
   
      content: null,
      editorOption: {
   
        placeholder: '请输入文本...',
        theme: 'snow',
        modules: {
   
          toolbar: {
   
            container: toolbarOptions
          }
        }
      }
    }
  },
  methods: {
   
    onEditorBlur () {
   
      // 失去焦点事件
    },
    onEditorFocus () {
   
      // 获得焦点事件
    },
    onEditorChange () {
   
      // 内容改变事件
    }
  }
}
</script>
<style>
.editor {
   
  line-height: normal !important;
  height: 400px;
  /* border: 1px solid #DCDFE6; */
}
.ql-snow .ql-tooltip[data-mode=link]::before {
   
  content: "请输入链接地址:";
}
.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
   
    border-right: 0px;
    content: '保存';
    padding-right: 0px;
}

.ql-snow .ql-tooltip[data-mode=video]::before {
   
    content: "请输入视频地址:";
}

.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
   
  content: '14px';
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
   
  content: '10px';
}
.ql-snow 
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值