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

文章介绍了如何在Vue.js项目中安装和使用Quill富文本编辑器,包括npm安装、导入组件、引入样式、配置编辑器功能、初始化及内容操作的方法,同时提到了自定义功能的挑战和内容大小的问题。

富文本编辑器

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的文件流,没有先上传,所以造成文本内容可能会很大

### 配置 Vue Quill 富文本编辑器字体的方法 在 Vue 项目中使用 Quill 富文本编辑器时,若需配置字体选项,可以通过自定义 Quill 的 `formats` 和 `toolbar` 来实现字体选择功能。以下为完整的配置方法: 首先,需引入 Quill 并注册自定义字体格式。可以通过如下方式定义支持的字体类型: ```javascript import Quill from 'quill' // 自定义支持的字体类型 var fonts = ['SimSun', 'SimHei', 'Microsoft-YaHei', 'KaiTi', 'FangSong', 'Arial', 'sans-serif'] var Font = Quill.import('formats/font') Font.whitelist = fonts Quill.register(Font, true) ``` 其次,在 Quill 编辑器的配置中,需要启用字体选择功能,并将其加入工具栏中: ```javascript const editorOptions = { modules: { toolbar: [ // 其他工具项 [{ 'font': fonts }] // 启用字体选择并使用自定义字体列表 ] }, placeholder: '请输入内容', theme: 'snow', formats: ['font'] // 确保允许使用字体格式 } ``` 此外,为确保编辑器中显示的字体与实际应用的字体一致,需在 CSS 中定义字体样式。例如,使用 `scoped` 样式时,应使用 `::v-deep` 选择器穿透作用域: ```vue <style scoped> ::v-deep .ql-editor { font-family: 'Microsoft-YaHei', sans-serif; } </style> ``` 若项目中使用了 CDN 引入 Quill 或其他字体资源,也可以通过在 `index.html` 中引入外部字体库来扩展可用字体[^2]: ```html <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> ``` 并在样式中应用该字体: ```css .ql-editor { font-family: 'Roboto', sans-serif; } ``` 上述配置可确保 Vue 项目中集成的 Quill 富文本编辑器支持字体选择,并能正确显示和应用所选字体。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

飘2018

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

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

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

打赏作者

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

抵扣说明:

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

余额充值