使用vue-quill-editor(富文本框)禁用粘贴图片
  Eab8PqVrV6ZI 2023年12月23日 64 0


问题描述:富文本框复制粘贴未走上传图片接口,会将复制的图片解析为base64编码,为了控制这种情况可选择禁用粘贴图片,或者监听有复制粘贴的图片走上传图片接口

  1. 获取到 quill 对象,可以通过 refs 或者 Quill 对象的 getInstance() 方法获取。
  2. 注册 paste 事件处理函数,通过事件对象的 clipboardData 属性获取剪切板中的内容,判断是否存在图片,如果存在则阻止默认行为。
  3. 最后在组件销毁时需要记得解除事件处理函数。
<template>
  <div>
    <quill-editor
      ref="editor"
      v-model="content"
      :options="{
        modules: {
          toolbar: [['bold', 'italic', 'underline', 'strike'], ['link', 'image', 'video']]
        },
        placeholder: '请输入内容...',
      }"
    ></quill-editor>
  </div>
</template>

<script>
import { QuillEditor } from 'vue-quill-editor'; 

export default {
  name: 'MyComponent',
  components: { QuillEditor },
  data() {
    return {
      content: '',
      quill: null
    };
  },
  mounted() {
    this.quill = this.$refs.editor.quill;
    this.quill.root.addEventListener('paste', this.handlePaste, false);
  },
  beforeDestroy() {
    this.quill.root.removeEventListener('paste', this.handlePaste, false);
  },
  methods: {
    handlePaste(e) {
      const clipboardData = e.clipboardData;
      const types = clipboardData.types;
      if (types.includes('Files')) {
        // 禁止粘贴图片
        e.preventDefault();
      }
    },
  },
};
</script>
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月23日 0

暂无评论

推荐阅读
  mQa6OV8cozXc   28天前   26   0   0 JavaScript
  Sb0Lu6UKRwVp   24天前   22   0   0 JavaScript
  X1N8l2v9m1kd   29天前   24   0   0 JavaScript
Eab8PqVrV6ZI