quill富文本插入表格quill-better-table

使用quill-better-table插件,官网GitCode - 全球开发者的开源社区,开源代码托管平台

安装

首先quill-better-table插件,官网有写需要 quills v2.0.0-dev3

我这里使用的是 quills v2.0.0-dev4,自行安装

然后就是安装我们的插件 quill-better-table

npm install quill-better-table

使用

<template>
    <div class="publish-form-container">
        <!-- TODO: 表单内容 -->
        <div ref="quillEditorRef" class="quill-editor"></div>
    </div>
  </template>
  
  <script>
  import Quill from 'quill';
  import 'quill/dist/quill.snow.css';
  
  import QuillBetterTable from 'quill-better-table' // 可编辑的table
  import 'quill-better-table/dist/quill-better-table.css' 
  import ImageResize from 'quill-image-resize' // 图片位置 以及 改变图片大小
  
  
  
  Quill.register({
      'modules/better-table': QuillBetterTable,
      'modules/imageResize': ImageResize,
  }, true)
  
  export default {
    name: 'PublishForm',
    data() {
      return {
        title: '',
        type: '',
        content: '',
      };
    },
    mounted() {
      this.initQuillEditor();
    },
    methods: {
      initQuillEditor() {
        const self = this;
        this.quillEditor = new Quill(this.$refs.quillEditorRef, {
          modules: {
            toolbar: {
              container:[
                [{ font: ['SimSun', 'SimHei', 'Microsoft-YaHei', 'KaiTi', 'FangSong', 'Arial', 'Times-New-Roman', 'sans-serif'] }],
                ['bold', 'italic', 'underline', 'strike'],
                ['blockquote', 'code-block'],
                [{ header: 1 }, { header: 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: [] }],
                [{ align: [] }],
                ['clean'],
                ['link', 'image'],
                ['table'],
              ],
              handlers: {
                    'table': function () {
                        this.quill.getModule('better-table').insertTable(3, 3)
                    },
            },
            },
            table: false,
            'better-table': { // 表格设置
              operationMenu: {
                items: { // 鼠标右键菜单设置,如将某一项设置false则右键菜单不会显示 如            insertColumnRight: false
                  insertColumnRight: { text: '右边插入一列' },
                  insertColumnLeft: { text: '左边插入一列' },
                  insertRowUp: { text: '上边插入一行' },
                  insertRowDown: { text: '下边插入一行' },
                  mergeCells: { text: '合并单元格' },
                  unmergeCells: { text: '拆分单元格' },
                  deleteColumn: { text: '删除列' },
                  deleteRow: { text: '删除行' },
                  deleteTable: { text: '删除表格' }
                },
                background: {
                  color: '#333'
                },
                color: {
                  colors: ['green', 'red', 'yellow', 'blue', 'white'],
                  text: '背景颜色:'
                }
              }
            },
            imageResize: {
              displayStyles: {
                backgroundColor: 'black',
                border: 'none',
                color: 'white'
              },
              modules: ['Resize', 'DisplaySize', 'Toolbar']
            },
            keyboard: {
                bindings: QuillBetterTable.keyboardBindings
            }
  
            
          },
          theme: 'snow',
        });
  
        // 监听编辑器内容的变化
        this.quillEditor.on('text-change', function (delta, oldDelta, source) {
          self.content = self.quillEditor.root.innerHTML;
        });
  
      },
      }
  };
  </script>
  

效果

参考:vue项目 quill 富文本支持表格_quill-better-table-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值