富文本框vue-quill-editor的使用

Posted amiezhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了富文本框vue-quill-editor的使用相关的知识,希望对你有一定的参考价值。

vue-quill官网:https://www.npmjs.com/package/vue-quill-editor

quill官网:https://quilljs.com/docs/quickstart/

基本用法这里就不介绍了,这里介绍下特殊用法:

怎么添加 自定义blots 和 自定义toolbar控件

<template>
<QuillEditor ref="editor" v-model="content" :options="editorOption">
  <div id="toolbar" slot="toolbar">
    <select class="ql-size">
          <option value="small"></option>
          <option selected>常规</option>
          <option value="large"></option>
          <option value="huge">特大</option>
        </select>
    <button type="button" class="ql-bold"></button>
    <button type="button" class="ql-italic"></button>
    <button type="button" class="ql-underline"></button>
    <select class="ql-color"></select>
    <button type="button" class="ql-image"></button>
    <button type="button" class="ql-list" value="ordered"></button>
    <button type="button" class="ql-list" value="bullet"></button>
    <select class="ql-align"></select>
    <!-- 自定义控件 -->
    <button  @click="addMyBlot">自定义按钮</button>
  </div>
</QuillEditor>
</template>

<script>
import { Quill } from vue-quill-editor;
// 拿到内嵌
const Embed = Quill.import(blots/embed);

class myBlot extends Embed {
  static blotName = myblot;
  static tagName = myblot;
  static create(value) {
    const node = super.create(value);
    node.innerhtml = value;
    node.setAttribute(id, value);
    return node;
  }
}
// 注册
Quill.register(myBlot);

export default {
  data() {
    return {
      content: ‘‘,
      editorOption: {
        placeholder: 请输入文本...,
        modules: {
          toolbar: #toolbar,
        },
      },
    }
  },
  method: {
    // vue-quill的小bug
    // 虽然是双向绑定,但不能直接改content,ql-editor的innerHTML,不然blot的value会变为true
    setContent(innerHTML) {
      setTimeout(() => {
        const quill = this.$refs[editor].quill;
        quill.container.querySelector(.ql-editor).innerHTML = innerHTML
      })
    },
    addMyBlot() {
      const quill = this.$refs[editor].quill;
      quill.insertEmbed(index, myblot, balabala。。。);
    }
  }
}

</script>

 

以上是关于富文本框vue-quill-editor的使用的主要内容,如果未能解决你的问题,请参考以下文章

vue-quill-editor富文本工具增强模块的使用

vue项目富文本编辑器vue-quill-editor之自定义图片上传

vue-quill-editor富文本编辑器

vue-quill-editor富文本编辑器

Vue使用vue-quill-editor实现富文本需求

vue使用富文本编辑器vue-quill-editor