码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-10-16 13:34:03      阅读:1724      评论:0      收藏:0      [点我收藏+]

标签:register   div   绑定   data   pack   bullet   ext   too   www.   

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的使用

标签:register   div   绑定   data   pack   bullet   ext   too   www.   

原文地址:https://www.cnblogs.com/amiezhang/p/9796986.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!