vue下富文本编辑器 quill的配置及使用

1 篇文章 0 订阅
1 篇文章 0 订阅

富文本编辑器

1.安装quill插件
进入项目的目录下输入命令
npm install quill --save

2.在组件中导入quill
<script>
//导入插件
    import Quill from 'quill'
</script>

3.在组件导入quill的样式表
<style>
    /* 导入样式表 一定要引入这三个css,不然文本编辑器会出现不规则黑白几何图形 */
    @import 'quill/dist/quill.snow.css'
</style>

4.配置基本功能
在mount()中添加下面代码,完成quill初始化

mounted() {
            
            this.$nextTick(resp=>{
                
                
                // quill富文本 初始化功能
                    const toolbarOptions = [
                      [{ 'header': [1, 2, 3, 4, 5, 6, false] }],        // 标题字体
                      [{ 'font': [] }],                                 // 字体
                      ['bold', 'italic', 'underline', 'strike'],        // 切换按钮
                      [{ 'align': [] }],                                // 对齐方式
                      ['blockquote', 'code-block'],                     // 文本块/代码块
                      [{ 'header': 1 }, { 'header': 2 }],               // 用户自定义按钮值
                      [{ 'list': 'ordered'}, { 'list': 'bullet' }],     // 有序/无序列表
                      [{ 'script': 'sub'}, { 'script': 'super' }],      // 上标/下标
                      [{ 'indent': '-1'}, { 'indent': '+1' }],          // 减少缩进/缩进
                      [{ 'color': [] }, { 'background': [] }],          // 主题默认下拉,使用主题提供的值
                      ['clean'],                                        // 清除格式
                      ['image', 'link', 'video']                        // 图片 / 链接 / 视频
                    ]
                    // 挂载
                    this.$nextTick(() => {
                      this.quill = new Quill('#editor', {
                        modules: {
                          toolbar: toolbarOptions
                        },
                        theme: 'snow',                // 使用主题样式
                        placeholder: '请输入内容'          })
                    })
            })
}

5.需要注意的地址4中的#editor它是div的id,是富文本显示的div


6.基本方法
// 获取内容length
const length =  this.quill.getLength() - 1            // 注意要-1

// 获取纯文本
const temptext = this.quill.getText()                  // 获取文本
const text = temptext.trim().replace(/\s/g, '')         // 去掉多余的空格

// 获取html
const html = this.quill.root.innerHTML              // 官方不推荐直接获取html,有getContent方法

// 初始化赋值
this.quill.root.innerHTML = html


注意事项
自定义功能较麻烦
图片是以img标签插入的,src是base64的文件流,没有先上传,所以造成文本内容可能会很大

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘2018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值