vue富文本編輯器(vue-quill-editor)

npm install vue-quill-editor --save
npm install quill-image-extend-module --save-dev

原生quill.js上傳圖片會自動轉成base64格式的,我這邊生成的html直接存到mysql的字段中的,base64太大了,quill-image-extend-module是quill的擴展,為了上傳圖片到服務器并獲取圖片地址,這個上傳的后端接口很容易寫,和elementUI的上傳接口一致。

<template>
  <div class="quill-wrap">
    <quill-editor ref="myQuillEditor" v-model="content" :options="editorOption" />
  </div>
</template>
<script>
import 'quill/dist/quill.snow.css'
import { quillEditor, Quill } from 'vue-quill-editor'
import { container, ImageExtend, QuillWatch } from 'quill-image-extend-module'
Quill.register('modules/ImageExtend', ImageExtend)
export default {
  components: { quillEditor },
  data() {
    return {
      content: '',
      editorOption: { // 富文本框參數(shù)設置
        modules: {
          ImageExtend: {
            loading: true,
            name: 'img',
            action: 'http://127.0.0.1:7001/yun/upload',
            response: (res) => {
              return `http://127.0.0.1:7001/public/uploadfile/${res.data.filename}`
            }
          },
          toolbar: {
            container: container,
            handlers: {
              'image': function () {
                QuillWatch.emit(this.quill.id)
              }
            }
          }
        }
      }
    }
  }
}
</script>
<style>
.ql-container {
  min-height: 300px;
}
.quill-editor {
  width: 880px;
}
</style>

這是我寫在頁面中的效果


image.png

quill的詳細文檔 :https://www.kancloud.cn/liuwave/quill/1409423

下一篇我記錄一下自己遇到的問題和解決方案。

注:除了quill,還可以選用tinymce

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容