vue-quill-editor图片缩放处理

1.npm安装插件

在这里插入图片描述

2.组件引用
import { ImageDrop } from 'quill-image-drop-module'
import ImageResize from 'quill-image-resize-module'
Quill.register('modules/imageDrop', ImageDrop);
Quill.register('modules/imageResize', ImageResize);
3.工具栏配置
		editorOption: {
    //placeholder: "请输入文本内容12314",
    modules: {
      imageDrop: true, //图片拖拽
      imageResize: {
        displayStyles: {// 放大缩小
          backgroundColor: "black",
          border: "none",
          color: "white",
        },
        modules: ["Resize", "DisplaySize", "Toolbar"],
      },
      clipboard: {
        matchers: [[Node.ELEMENT_NODE, this.handleCustomMatcher]],// 粘贴版,处理粘贴时候带图片
      },
      toolbar: {
        container: [
          ["bold", "italic", "underline", "strike"], //加粗,斜体,下划线,删除线
          ["blockquote"], //引用,代码块
          [{ header: 1 }, { header: 2 }], // 标题,键值对的形式;1、2表示字体大小
          [{ list: "ordered" }, { list: "bullet" }], //列表
          [{ align: [] }],
          [{ color: [] }, { background: [] }], // 字体颜色,字体背景颜色
          ["link", "image"],
        ],
      },
    },
    theme: "snow",
  },

    },
    theme:'snow'
  },
4.报错

在这里插入图片描述

5.webpack配置

vue.config.js中插入如下配置

const webpack = require('webpack')
module.exports中插入如下代码
configureWebpack: {
plugins: [
    new webpack.ProvidePlugin({
        'window.Quill': 'quill/dist/quill.js',
        'Quill': 'quill/dist/quill.js'
    })
]

}

我这里的配置是这样的,你们如果使用的话按情况来

		module.exports = Object.assign(multipage.create('./src', './', '-'), {
// custom config
chainWebpack: config => {
	config.resolve.alias
  .set("Common", resolve("src/common"))
  .set("Http", resolve("src/common/base/http"))
  .set("Conf", resolve("src/common/config"))
},
configureWebpack: {
plugins: [
    new webpack.ProvidePlugin({
        'window.Quill': 'quill/dist/quill.js',
        'Quill': 'quill/dist/quill.js'
    })
]
}
})

设置之后报错问题就解决了,编辑器就可以缩放图片了

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: vue-quill-editor可以通过设置图片的样式来实现图片缩放。具体方法如下: 1. 在quillOptions中设置图片的样式: ``` quillOptions: { modules: { toolbar: [ ['image'] ] }, theme: 'snow', // 设置图片样式 styles: { 'img': { 'max-width': '100%', 'height': 'auto' } } } ``` 2. 在上传图片的回调函数中,将图片的宽度设置为100%: ``` uploadImage(file) { return new Promise((resolve, reject) => { const formData = new FormData() formData.append('file', file) axios.post('/upload', formData).then(response => { const url = response.data.url resolve(url) // 将图片的宽度设置为100% const img = document.createElement('img') img.src = url img.style.maxWidth = '100%' this.$refs.quillEditor.quill.insertEmbed(this.cursorIndex, 'image', url) }).catch(error => { reject(error) }) }) } ``` 这样就可以实现图片缩放了。 ### 回答2: Vue-Quill-Editor是一个基于Vue的富文本编辑器库,开发者可以在其中加入图片等素材来美化文本内容。在Vue-Quill-Editor中,图片缩放是一项重要的功能,它可以让图片在编辑器中以更适合显示的尺寸展示出来,从而更好的融入文本内容。 在Vue-Quill-Editor中,图片缩放实现方法如下: 首先需要在组件中引入quill的资源: import { quillEditor } from 'vue-quill-editor' 接下来,可以通过在配置项中添加如下代码来设置图片缩放: 在组件中的data里定义图片上传需要的参数: new Vue({ data: () =>{ return { imageUrl:'', uploadConfig: { dirName: 'images', accept: 'application/png', size: '50', maxSize: 5000000, headers: { 'Content-Type': 'multipart/form-data' }, params: { type: 'article', id: 1 }, } } } }) 其中,dirName是一个文件夹名,若没有该文件夹则会自动创建;accept是上传文件的类型,size和maxSize是限制上传文件的范围大小;headers是设置请求头;params是设置请求上传图片的参数。 在quill-editor上加上图片缩放功能: <quill-editor :options="editorOption" v-model="editorContent" ref="editor" @image-added="imageAdded($event)"></quill-editor> 其中,options、v-model和ref这三个属性比较常见, @image-added是钩子,当上传图片完成后触发该事件。 最后,将进行图片处理的方法 imageAdded 加入之前定义好的组件中,实现图片缩放: methods: { imageAdded (fileList) { const fd = new FormData() fd.append('attach', fileList[0].file) axios.post('your url here', fd, { headers: { 'Content-Type': 'multipart/form-data' }, progress: event => { // 进度条 } }).then(resp => { const res = resp.data if (res.code === 0) { this.imageUrl = res.obj.uid const quill = this.$refs.editor.quill const range = quill.getSelection(true) quill.insertEmbed(range.index, 'image', res.obj.url, 'user') } else { this.$message.error(res.msg) } }) } } 其中,fileList是上传的一组图片资源;fd.append将图片加入了新创建的form-data数据;axios.post将该数据通过post方法提交到服务器中;当上传完成后,通过quill.insertEmbed方法将图片资源加入到编辑器中。需要注意:招聘机器人并不支持上传的图片等资源,因此若需对其进行缩放等操作,需要使用实际存在的图片资源。 ### 回答3: vue-quill-editor是一个基于Quill.js的vue富文本编辑器项目,可以用来方便地创建和编辑富文本内容。在编辑富文本内容时,图片缩放是一个非常常见的需求。那么,如何在vue-quill-editor中实现图片缩放呢?我们可以通过两种方式来实现。 第一种方式是通过设置图片的宽度和高度来实现缩放。具体方法是在vue-quill-editor的options中添加style标签,并设置img元素的最大宽度和最大高度,代码如下: ``` import { quillEditor } from 'vue-quill-editor' export default { components: { quillEditor }, data () { return { editorOption: { // 设置style标签,并设置img元素的最大宽度和最大高度 style: '.ql-editor img{max-width: 100%;max-height: 400px}', } } } } ``` 通过设置最大宽度和最大高度,可以自动调整图片的大小,从而实现缩放效果。 第二种方式是通过添加插件来实现图片缩放。可以使用vue-quill-editor提供的table module中的table-resize插件来实现。具体方法是在vue-quill-editor的options中添加modules标签,并设置table-resize插件,代码如下: ``` import { quillEditor } from 'vue-quill-editor' import tableResize from 'quill-table-resize' export default { components: { quillEditor }, data () { return { editorOption: { // 设置tableResiz插件 modules: { tableResize: {} } } } } } ``` 添加了table-resize插件之后,就可以在编辑器中对图片进行缩放操作了。具体操作方法是:将鼠标移动到图片的边框上,会显示出一个拖拽的小图标,然后按住鼠标左键并拖拽即可。此时,图片大小会随着鼠标的移动而变化,达到缩放的效果。 综上所述,以上两种方式均可以在vue-quill-editor中实现图片缩放。根据具体的需求和实际情况,可以选择相应的方法来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值