zoukankan      html  css  js  c++  java
  • vue PC端页面引入vue-quill-editor富文本插件

    项目需要:在添加新类别的弹框中,要在输入框中输入多条描述信息,不同的描述信息要换行输入,输入后点击确定传给后端,接口返回成功后点击查看刚添加的新类别时,描述框中展现多条换行的描述信息也要跟填写时一样(即不同的描述换行展示),他们说用富文本比较方便,所以找到了这个插件,刚好满足我想要的功能效果,写下来当笔记。

    参考文章:Vue基于vue-quill-editor富文本编辑器使用心得

    安装插件:

    npm install vue-quill-editor

    然后是在需要的组件引入,当然也可以在main.js中引入:

    import { quillEditor } from 'vue-quill-editor'
    import 'quill/dist/quill.core.css'
    import 'quill/dist/quill.snow.css'
    import 'quill/dist/quill.bubble.css'
    
    export default {
      data () {
             content: '',
             editorOption: {
                  modules: {
                      toolbar: [
                        [{ 'list': 'bullet' }] // 这里我只要无序列表图标
                      ]
                   },
                   theme: 'snow'
             },           
        },
        components: {
            quillEditor
        }
    }                

    HTML部分:

    <quill-editor ref="text" v-model="content" class="myQuillEditor" :options="editorOption" />

    看看效果吧:

    默认情况下工具栏有很多的功能图标,加粗、斜体、上传图片等等,如果有些功能运用不到又不想看到的话,可以在这里可以进行设置设置,将toolbar中用不到的移出掉即可,这里我直接复制参考文章大佬的代码了:

    modules:{
                toolbar:[
                  ['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'],    //清除字体样式
                  ['image','video']    //上传图片、上传视频
      
                ]
              },
              theme:'snow'
            }
         }

      这里的modules就是上面data中的 editorOption 的modules,想要啥功能按照你的需要进行添加或者移除就行了。

      这里我只是简单的用到列表的效果而已,想看的其他功能介绍的话,可以去看看参考文章的介绍,那边的大佬说的更详细

      后续追加:

      当我们输入上面的几条列表信息后,直接打印出来是这样的

    这个有点看不懂,这样的字符串放到插件也不能渲染成我们想要的 list 标签的效果,此时需要用个方法处理一下转成我们想要看到的富文本的样子,这个方法是我在别人博客里看到的,如下:

    escapeStringHTML (str) {
          str = str.replace(/&lt;/g, '<')
          str = str.replace(/&gt;/g, '>')
          console.log(str)
          return str
    }

    处理过后成这样了:

    就是上面打印的第二行这样的,现在再把替换后的字符串赋值给上面插件标签quill-editor中绑定的contain,渲染出来即为我们之前输入时的样子

  • 相关阅读:
    CentOS下网卡启动、配置等ifcfg-eth0教程(转)
    device eth0 does not seem to be present, delaying initialization(转)
    MicroPython TPYBoard v201 简易家庭气象站的实现过程
    micropython TPYBoard v201 简易的web服务器的实现过程
    使用Visual Studio Code进行MicroPython编程
    PyCharm安装MicroPython插件
    基于MicroPython:TPYBoard心率监测器
    CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-7主节点CM安装子节点Agent配置
    CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-6CM安装前环境检查
    CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-5安装JDK及安装mysql数据库
  • 原文地址:https://www.cnblogs.com/secretAngel/p/11314381.html
Copyright © 2011-2022 走看看