secretAngel

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

参考文章: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,渲染出来即为我们之前输入时的样子

 

分类:

技术点:

相关文章:

  • 2021-11-20
  • 2021-05-16
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2021-07-01
  • 2022-12-23
猜你喜欢
  • 2021-06-06
  • 2021-11-30
  • 2021-11-20
  • 2021-12-08
  • 2021-04-10
相关资源
相似解决方案