vue-quill使用时候要注意css引入方式,不然会报错,卡死,白屏

简介: vue-quill使用时候要注意css引入方式,不然会报错,卡死,白屏

@vueup/vue-quill 的一个样式 bug

在vue-quill使用时候要注意css引入方式,不然会报错,卡死,白屏,下面是正确引入:

import {QuillEditor} from '@vueup/vue-quill'


import BlotFormatter from 'quill-blot-formatter/dist/BlotFormatter';
import '@vueup/vue-quill/dist/vue-quill.snow.css';
  • 一定要用dist里面的css

建议使用下面介绍的包

附加另一个版本的 Vue-Quill 使用手册

在现代的前端开发中,富文本编辑器已经成为了许多应用不可或缺的一部分。它们让用户能够以一种直观、熟悉的方式输入和编辑格式化文本,类似于我们日常在办公软件或在线发布平台上所体验到的。Vue-Quill 就是这样一个为 Vue.js 设计的富文本编辑器组件,它基于著名的 Quill 编辑器构建,带来了强大的功能和极致的自定义能力。


本文旨在成为 Vue-Quill 的使用手册,从安装到配置,再到高级功能的实现,一步步引导你掌握这个强大的工具。

一、安装与基本设置

1. 安装 Vue-Quill

开始使用 Vue-Quill 之前,你需要确保你的项目中已经安装了 Vue.js。接下来,你可以通过 npm 或 yarn 来安装 Vue-Quill:

npm install vue-quill-editor --save
# 或者
yarn add vue-quill-editor

2. 引入 Vue-Quill

安装完成后,你需要在你的 Vue 组件中引入 Vue-Quill 编辑器。你可以全局注册这个组件,也可以在需要的组件中局部注册。

全局注册

在你的 main.js 文件中:

import Vue from 'vue'
import VueQuillEditor from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css' // 你可以选择其他的主题
import 'quill/dist/quill.bubble.css'

Vue.use(VueQuillEditor, /* { default global options } */)

局部注册

在你的单文件组件中(例如 YourComponent.vue):

<template>
  <!-- 编辑器将在这里呈现 -->
</template>

<script>
import { quillEditor } from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css' // 你可以选择其他的主题

export default {
  components: {
    quillEditor
  }
  // ...
}
</script>

注意:从 vue-quill-editor 1.0.0 版本开始,组件名已更改为 quillEditor,而不是 VueQuillEditor

3. 基本使用

在你的 Vue 组件模板中使用 <quill-editor> 标签来添加编辑器:

<template>
  <div>
    <quill-editor v-model="content"></quill-editor>
  </div>
</template>

<script>
export default {
  data() {
    return {
      content: '' // 这里绑定的是编辑器的内容
    }
  }
}
</script>

现在,你的 Vue 应用中应该已经可以看到一个基本的 Quill 编辑器了。

二、配置与自定义

Vue-Quill 允许你通过传递选项对象来自定义编辑器的行为和外观。你可以在全局注册时设置默认选项,也可以在组件实例中通过 options 属性来设置。

1. 配置选项

以下是一些常用的配置选项:

  • theme: 设置编辑器的主题,例如 'snow'
  • modules: 一个对象,用于配置 Quill 的不同模块。
  • placeholder: 设置编辑器的占位符文本。
  • readOnly: 设置为 true 可使编辑器处于只读模式。

你可以在组件中这样配置它们:

<quill-editor
  v-model="content"
  :options="{
    theme: 'snow',
    modules: {
      toolbar: [
        ['bold', 'italic', 'underline', 'strike'],
        // 其他工具栏选项...
      ]
    },
    placeholder: '请输入内容...'
  }"
></quill-editor>

2. 自定义工具栏

Quill 的工具栏非常灵活,你可以通过配置 modules 中的 toolbar 选项来自定义它。你可以指定哪些按钮应该出现,以及它们的顺序。

例如,要添加一个包含基本格式化选项的自定义工具栏,你可以这样做:

modules: {
  toolbar: [
    ['bold', 'italic', 'underline', 'strike'], // 加粗,斜体,下划线,删除线
    ['blockquote', 'code-block'], // 引用,代码块

    [{ 'header': 1 }, { 'header': 2 }], // 标题大小
    [{ 'list': 'ordered'}, { 'list': 'bullet' }], // 列表
    [{ 'script': 'sub'}, { 'script': 'super' }], // 上下标
    [{ 'indent': '-1'}, { 'indent': '+1' }], // 缩进

    // 其他选项...
  ]
}

3. 自定义编辑器内容

Vue-Quill 使用 v-model 来双向绑定编辑器的内容。这意味着你可以像处理任何其他 Vue 数据属性一样处理编辑器的内容。你可以在组件的 data 函数中初始化它,并在需要时通过方法或计算属性来更新它。

三、高级功能

1. 事件监听

你可以监听由 Vue-Quill 发出的各种事件,以便在内容更改、选择更改或编辑器交互时执行自定义逻辑。

<quill-editor
  v-model="content"
  @change="handleEditorChange"
  @selection-change="handleSelectionChange"
></quill-editor>

然后在你的组件方法中处理这些事件:

methods: {
  handleEditorChange(content, delta, source, editor) {
    console.log('Editor content changed:', content);
  },
  handleSelectionChange(range, source, editor) {
    console.log('Selection changed:', range);
  }
}

2. 自定义模块和扩展

Quill 的真正强大之处在于其模块化和扩展性。你可以创建自己的模块来添加新功能或覆盖现有功能。一旦创建了自定义模块,你就可以像其他模块一样将其添加到编辑器的配置中。

3. 与后端集成

将 Vue-Quill 与后端集成通常涉及将编辑器的内容序列化为一个格式(如 HTML 或 JSON),然后将其发送到服务器。你可以使用 Quill 的 getContents 方法来获取编辑器内容的一个 Delta 表示,然后将其转换为所需的格式。对于  HTML,你可以使用 Quill 的 root.innerHTML;但对于更复杂的应用,你可能需要将 Delta 转换为 JSON,并在服务器上处理它。

总结

Vue-Quill 是一个功能强大且高度可配置的富文本编辑器组件,适用于 Vue.js 应用。通过本文,你应该已经掌握了从安装和设置 Vue-Quill,到通过配置和自定义来优化编辑器体验所需的所有知识。现在,你可以在你的 Vue 项目中创建一个优雅、用户友好的富文本编辑器,以提升用户体验和内容创作的灵活性。


相关文章
|
前端开发 Java 应用服务中间件
jsp页面引入css文件报错 javax.servlet cannot be resolved to a type
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/50454142 登陆 可能是jdk 里不包括servlet-api.jar这个包,到tomcat里找到这个包复制到java项目里。
1213 0
|
8月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
8月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
8月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
8月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
8月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
8月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
666 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
435 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子