美文网首页
vue-quill-editor

vue-quill-editor

作者: 静_summer | 来源:发表于2019-10-28 23:21 被阅读0次

    官网:https://www.npmjs.com/package/vue-quill-editor
    quill官网:https://quilljs.com/docs/quickstart/
    兼容:IE10以上

    • 自定义toolbar和设置blots
    <template>
    <div>
      <button @click="handle">2222</button>
      <quill-editor 
        ref="quill"
        v-model="content"
        :options="editorOption"
        @change="onEditorChange($event)">
    
        <div id="toolbar" slot="toolbar">
          <!-- 自定义按钮 -->
          <button>111</button>
        </div>
      </quill-editor>
    </div>
    </template>
    
    <script>
    import { Quill } from 'vue-quill-editor';
    // 拿到内嵌
    const Embed = Quill.import('blots/embed');
    
    class variate extends Embed {
      static blotName = 'variate';
      static tagName = 'variate';
      static create(value) {
        console.log(arguments)
        let val = value.split(',')
        const node = super.create(val[0]);
        node.innerHTML = val[0];
        node.setAttribute('id', value.split(',')[0]);
        node.setAttribute('log', value.split(',')[1]);
        return node;
      }
    }
    // 注册
    Quill.register(variate);
    
    export default {
      name: "app",
      components: {
        // HelloWorld
      },
      data () {
        return {
          content: '',
          editorOption: {  // 设置所有的选项
            theme: "snow", // or 'bubble'
            placeholder: "您想说点什么?",
            modules: {
              toolbar: {
                container: [
                  ["bold", "italic", "underline", "strike"], // 加粗 斜体 下划线 删除线
                  ["blockquote", "code-block"], // 引用  代码块
                  [{ header: 1 }, { header: 2 }], // 1、2 级标题
                  [{ list: "ordered" }, { list: "bullet" }], // 有序、无序列表
                  [{ script: "sub" }, { script: "super" }], // 上标/下标
                  [{ indent: "-1" }, { indent: "+1" }], // 缩进
                  // [{'direction': 'rtl'}],                         // 文本方向
                  [{ size: ["small", false, "large", "huge"] }], // 字体大小
                  [{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
                  [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
                  [{ font: [] }], // 字体种类
                  [{ align: [] }], // 对齐方式
                  ["clean"], // 清除文本格式
                  ["link", "image", "video"] // 链接、图片、视频  
                ]
              }
            }
          }
        }
      },
      methods: {
        handle() {
          // 手动设置输入的内容,作为一个blot,删除可以删除整个代码块
          let quill = this.$refs.quill.quill
          quill.insertEmbed(10, 'variate', '$bian$,1')
        },
        onEditorChange({ quill, html, text }) {
          console.log('editor change!', quill, html, text)
        }
      }
    };
    </script>
    
    <style>
    #app {
      font-family: "Avenir", Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-align: center;
      color: #2c3e50;
      margin-top: 60px;
    }
    </style>
    

    相关文章

      网友评论

          本文标题:vue-quill-editor

          本文链接:https://www.haomeiwen.com/subject/uerjectx.html