码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue-quill-editor富文本编辑器-扩展表格、图片调整大小


    上篇文章已经讲到、vue-quill-editor的基本配置和图片转成url 这篇文章主要使用插件来完成 图片调整大小 和 表格的插件使用(这两个目前quill 版本并不兼容 如果有大神解决了还望指点)

    参考文章:

    vue-quill-editor 富文本编辑器支持图片拖拽和放大缩小_*且听风吟的博客-CSDN博客npm i quill-image-drop-module -S // 拖拽插件npm i quill-image-resize-module -S // 放大缩小插件https://blog.csdn.net/HH18700418030/article/details/121017110vue项目 quill 富文本支持表格__Lunay的博客-CSDN博客_quill表格最近修改公司模版,富文本内可以插入表格,选择了几款,最终确定使用quill+quill-better-table,研究了一下。quill 2.0版本的表格功能比较弱,故所需要quill-better-table插件的协助来完成改需要。quill-better-table官网文档:前言 · Quill官方中文文档 · 看云安装npm installquill^2.0.0-dev.3 版本需要大于2.0版本npm install quill-better-table..https://blog.csdn.net/z9061/article/details/121383239

    上传后调整图片大小 

    1、安装需要使用的插件:

    npm i quill-image-drop-module  -S // 拖拽插件
    npm i quill-image-resize-module -S // 放大缩小插件

    2、在组件内引入和注册

    import Quill from 'quill' 如有需要可以再安装一下 npm i quill 供下面Quill.register 使用

    import resizeImage from 'quill-image-resize-module' // 图片缩放组件引用
    import { ImageDrop } from 'quill-image-drop-module'; // 图片拖动组件引用
    Quill.register('modules/imageDrop', ImageDrop); // 注册
    Quill.register('modules/resizeImage ', resizeImage ) // 注册 

     3、vue.config.js中添加设置

    const webpack = require('webpack')
    module.exports = {
      configureWebpack: {
        plugins: [
          new webpack.ProvidePlugin({
            'window.Quill': 'quill/dist/quill.js',
            'Quill': 'quill/dist/quill.js'
          })
        ]
      }
    }

    4、在 editorOption 中添加配置  在modules中与 history/toolbar平级

    imageDrop: true,      //图片拖拽
    imageResize: {          //放大缩小
      displayStyles: {
        backgroundColor: "black",
        border: "none",
        color: "white"
      },
      modules: ["Resize", "DisplaySize", "Toolbar"]
    },

     

    附上package.json对应的版本信息

     如果出现

    quill Cannot import modules/imageResize. Are you sure it was registered?

    或者  imports 未定义的报错  尝试下 vue.config.js和 package.json

     至此效果就完成了

     

    扩展表格的使用

    也是使用插件 步骤相似 安装-引入注册-toolbar添加按钮-添加对应回调完成

    只不过目前和上面 图片缩放的插件不能同时使用 因为想要使用表格 quill的版本要是2.0以后 升级到这个版本后 图片缩放的插件就注册不了了。

    安装:

    1. npm install quill ^2.0.0-dev.3 版本需要大于2.0版本

    2. npm install quill-better-table

    引入&注册

    import Quill from 'quill'
    import 'quill/dist/quill.snow.css'
    
    import QuillBetterTable from 'quill-better-table'
    import 'quill-better-table/dist/quill-better-table.css'
    
    Quill.register({
      'modules/better-table': QuillBetterTable
    }, true)

    使用: 

    1.在toolbar-container 中增加表格的按钮

    [{ 'table': 'TD' },],

     2.handler 设置表格按钮的回调 这里是引用插件模考方法 初始化一个3X2的表格

    handlers: {
      'table': function () {
        this.quill.getModule('better-table').insertTable(3, 3)
      },
    },

    完整配置项代码:

    1. options: {
    2. theme: 'snow',
    3. modules: {
    4. toolbar: {
    5. container: [
    6. ['bold', 'italic', 'underline', 'strike'],
    7. [{ 'list': 'ordered' }, { 'list': 'bullet' }],
    8. [{ 'script': 'super' }],
    9. [{ 'indent': '-1' }, { 'indent': '+1' }],
    10. [{ 'size': ['small', false, 'large', 'huge'] }],
    11. [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
    12. [{ 'color': [] }, { 'background': [] }],
    13. [{ 'align': [] }],
    14. ['link', 'image'],
    15. [
    16. { 'table': 'TD' },
    17. ],
    18. ],
    19. handlers: {
    20. 'table': function () {
    21. this.quill.getModule('better-table').insertTable(3, 3)
    22. },
    23. },
    24. },
    25. // imageDrop: true,
    26. // imageResize: {
    27. // displayStyles: {
    28. // backgroundColor: 'black',
    29. // border: 'none',
    30. // color: 'white'
    31. // },
    32. // modules: ['Resize', 'DisplaySize', 'Toolbar']
    33. // },
    34. table: false,
    35. 'better-table': {
    36. operationMenu: {
    37. items: {
    38. unmergeCells: {
    39. text: 'Another unmerge cells name'
    40. }
    41. },
    42. background: {
    43. color: '#333'
    44. },
    45. color: {
    46. colors: ['green', 'red', 'yellow', 'blue', 'white'],
    47. text: 'background:'
    48. }
    49. }
    50. },
    51. keyboard: {
    52. bindings: QuillBetterTable.keyboardBindings
    53. }
    54. },
    55. placeholder: 'Insert text here ...'
    56. }

     

  • 相关阅读:
    自定义修改Discuz X3 今日发帖数量 昨日发帖数量 帖子总数 会员总数
    Science:大脑中睡眠的相互关联原因和结果
    设计模式——观察者模式
    计算机二级WPS 选择题(模拟和解析二)
    vue解除数据双向绑定
    Spring Boot 使用 SSE 方式向前端推送数据
    今天是1024,获取一下纪念牌
    性能炸裂c++20协程+iocp/epoll,超轻量高性能异步库开发实战
    微信小程序导航退回及跳转 传参(navigateBack,navigateTo)
    java——Junit单元测试
  • 原文地址:https://blog.csdn.net/benlalagang/article/details/127793604
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号