quill-editor的使用和自定义

本文介绍了如何在Vue项目中使用和封装quill-editor,包括安装vue-quill-editor和quill,组件引入及注册,特别强调了quill-editor的自定义功能,如设置字体大小,并提供了在quill.core.js和quill.js中修改font.css的步骤,以及在main.js中引入自定义样式的注意事项。
摘要由CSDN通过智能技术生成

我的项目中有很多地方要用到,所以我封装了一个组件
1.安装vue-quill-editor

npm install vue-quill-editor -S

2.安装vue-quill-editor

npm install quill -S

安装后在main.js中引入

import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import VueQuillEditor from 'vue-quill-editor'

Vue.use(VueQuillEditor)

3.安装vue-quill-editor-upload 因为我用到图片上传服务器,如果使用他的可以不用安装

vue-quill-editor-upload

安装后要引入组件、注册组件

   import {
   quillRedefine} from 'vue-quill-editor-upload'
   
   components:{
    quillRedefine },

一下是封装好的quill-editor组件

<template>
    <div class="edit_container">
        <quill-editor 
        v-model="content"
        ref="myQuillEditor"
        :options="editorOption"
        @blur="onEditorBlur($event)" 
        @focus="onEditorFocus($event)"
        @change="onEditorChange($event)">
        </quill-editor>
    </div> 
</template>
<script>
/*富文本编辑图片上传配置*/
const uploadConfig = {
   
	action: 'common.uploadfile.single', // 必填参数 图片上传地址
	methods: 'POST', // 必填参数 图片上传方式
	token: '', // 可选参数 如果需要token验证,假设你的token有存放在sessionStorage
	name: 'img', // 必填参数 文件的参数名
	size: 1024, // 可选参数   图片大小,单位为Kb, 1M = 1024Kb
	accept: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon' // 可选 可上传的图片格式
};
import {
   quillRedefine} from 'vue-quill-editor-upload'
export default {
   
    components:{
    quillRedefine },
    name: 'App',
    props: {
   
        value: {
   
            type: String, 
            default: '',
        }
    },
    data(){
   
        return {
   
        content: this.value || '',
        editorOption: {
   }
        }
    },
    watch:{
   
        value(val) {
   
            this.content = val
        },
        deep:
Vue-Quill-Editor 是一个基于 Quill.js 的富文本编辑器组件,支持自定义组件和功能。 以下是一些自定义 Vue-Quill-Editor 的方法: 1. 自定义工具栏 通过在 Vue-Quill-Editor 的 props 中传入 toolbar 属性,可以自定义工具栏,如下所示: ``` <template> <div> <quill-editor v-model="content" :toolbar="toolbarOptions"></quill-editor> </div> </template> <script> export default { data() { return { content: "", toolbarOptions: [ ["bold", "italic", "underline", "strike"], // 加粗,斜体,下划线,删除线 ["blockquote", "code-block"], // 引用,代码块 [ { header: 1 }, { header: 2 } ], // 标题 [ { list: "ordered" }, { list: "bullet" } ], // 列表 [ { script: "sub" }, { script: "super" } ], // 上下标 [ { indent: "-1" }, { indent: "+1" } ], // 缩进 [ { direction: "rtl" } ], // 文本方向 [ { size: ["small", false, "large", "huge"] } ], // 字体大小 [ { color: [] }, { background: [] } ], // 字体颜色,背景颜色 [ { font: [] } ], // 字体 [ { align: [] } ], // 对齐方式 ["clean"] // 清除格式 ] }; } }; </script> ``` 2. 自定义模块 Quill.js 提供了一些默认的模块,如 toolbar、image、video 等,同时也支持自定义模块。你可以通过在 Vue-Quill-Editor 的 props 中传入 modules 属性来实现。 下面是一个自定义图片上传模块的示例: ``` <template> <div> <quill-editor v-model="content" :modules="modules"></quill-editor> </div> </template> <script> export default { data() { return { content: "", modules: { toolbar: [ ["bold", "italic", "underline", "strike"], [{ header: 1 }, { header: 2 }], ["image"] ], image: { upload: file => { // 上传图片的逻辑 return new Promise((resolve, reject) => { const formData = new FormData(); formData.append("image", file); axios .post("/upload/image", formData, { headers: { "Content-Type": "multipart/form-data" } }) .then(res => { resolve(res.data.url); }) .catch(err => { reject(err); }); }); } } } }; } }; </script> ``` 3. 自定义主题 你可以通过重写 Quill.js 的样式来自定义主题,然后在 Vue-Quill-Editor使用。 下面是一个自定义主题的示例: ``` <template> <div> <quill-editor v-model="content" :theme="customTheme"></quill-editor> </div> </template> <script> import "./my-quill-theme.css"; export default { data() { return { content: "", customTheme: "my-quill-theme" }; } }; </script> ``` 在 my-quill-theme.css 中定义样式: ``` .ql-container { border: 1px solid #ccc; border-radius: 4px; font-size: 14px; } .ql-editor { padding: 10px; height: 300px; } .ql-editor p { margin: 0; } ``` 通过上述自定义方法,你可以实现 Vue-Quill-Editor 的更多自定义需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值