Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

npm-wps-editor

hsian13MIT0.0.3

rich text editor for vue (based on quill)

vue quill, vue text editor, vue rich text editor, vue web editor, vue editor, vue word editor

readme

vue rich text editor

vue 富文本编辑器组件,基于@quill新增图片上传和视频上传,欢迎issues

安装

NPM

npm install vue-word-editor --save 

依赖 quill,axios,vue

配置

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

新增配置

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

属性 类型 说明
url String 上传图片的地址
name String formData字段名
uploadBefore Function 上传之前触发,参数返回file文件,返回false则不上传
uploadProgress Function 上传中触发,参数返回上传中结果
uploadSuccess Function 上传成功触发,参数返回上传后的结果和注入方法
uploadError Function 上传失败触发,参数返回错误
showProgress Boolean 是否展示上传进度条(可自行在uploadProgress定义)
headers Object 上传的头信息

使用

普通SPA使用

参考 /example

<template>
  <div id="app">
    <VueEditor :config="config"/>
  </div>
</template>
<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",
          // res是结果,insert方法会把内容注入到编辑器中,res.data.url是资源地址
          uploadSuccess(res, insert){
            insert("http://localhost:3000" + res.data.url)
          }
        },

        // 上传视频的配置
        uploadVideo: {
          url: "http://localhost:3000/upload",
          name: "file",
          uploadSuccess(res, insert){
            insert("http://localhost:3000" + res.data.url)
          }
        }
      }
    }
  },

  components: {
    VueEditor
  },
}
</script>

SSR在Nuxtjs中使用

加个判断再引入即可

import "quill/dist/quill.snow.css"
let VueEditor;

if (process.browser) {
    VueEditor = require('vue-word-editor').default
}

获取内容

1.给组件添加ref

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

2.获取富文本

this.$refs.vueEditor.editor.root.innerHTML

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