介绍:

vue富文本编辑器组件,是基于[@quil](https://quilljs.com/)新增图片上传和视频上传功能。

1. 使用

1.1 安装:

NPM

npm install vue-word-editor --save

 依赖 quill,axios,vue

1.2 引入:

import VueEditor from 'vue-word-editor';
import 'quill/dist/quill.snow.css';

1.3 注册和配置

上传文件必须要设置请求头的信息

<script>
//引入
import VueEditor from "vue-word-editor";
import "quill/dist/quill.snow.css"

export default {
name: 'app',

data(){
  return {
    config: {
// 上传图片的配置
      uploadImage: {
        url: "http://localhost:3000/upload",//文章上传到服务器端的处理路径
        name: "file",//后台所需要的参数的名称
        headers: this.getToken(),//设置请求头信息
        // res是结果,insert方法会把内容注入到编辑器中,res.data.url是资源地址
        uploadSuccess(res, insert){
          insert("http://localhost:3000" + res.data.url)//文件上传之后的回调,接收服务器响应回来的数据,根据服务器的地址进行填充
        }
      },
  	 
      // 上传视频的配置
      uploadVideo: {
        url: "http://localhost:3000/upload",
        name: "file",
        headers: this.getToken(),//设置请求头信息
        uploadSuccess(res, insert){
          insert("http://localhost:3000" + res.data.url)
        }
      }
    }
  }
},
//注册
components: {
  VueEditor
},
 // 设置上传头的信息
 methods:{ 
      getToken() {
      return {
        Authorization: JSON.parse(
          localStorage.getItem("hmtoutiao_houtai_login")
        ).token
   };
  }
}
</script>

1.4 使用

<template>
  <div id="app">
    <VueEditor :config="config"/>
  </div>
</template>

 

2.配置

遵循Quill原有的配置:https://quilljs.com/docs/configuration/

新增配置

上传图片和上传视频的配置(uploadImage/uploadVideo)

属性类型说明
urlString上传图片的服务器地址
nameStringformData字段名
uploadBeforeFunction上传之前触发,参数返回file文件,返回false则不上传
uploadProgressFunction上传中触发,参数返回上传中的结果
uoloadSuccessFunction上传成功触发,参数返回上传后的结果和注入方法
uploadErrorFunction上传失败触发,参数返回错误
showProgressBoolean是否展示上传进度,(可执行在uploadProgress定义)
headersObject上传的头信息

 

 

 

3.获取和设置内容

3.1 给组件添加ref

<VueEditor :config="config" ref="vueEditor"></VueEditor>

3.2 获取富文本

如果想要调用quill对象的方法,可以使用this.$refs.vueEditor.editor 访问quil对象

var quill = this.$refs.vueEditor.editor; quill.root.innerHTML

3.3 设置编辑器的内容

var quill = this.$refs.vueEditor.editor; quill.clipboard.dangerouslyPasteHTML(0,`<div>html</div>`);

4. SSR在Nuxtjs中使用

加个判断再引入即可

import ‘quill/dist/quill.snow.css’

let VueEditor;

if (process.browser) {

VueEditor = require ("vue-word-editor").default

}

GitHub 加速计划 / vu / vue
207.52 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:1 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 3 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐