兰宝车间质量管理系统-前端
疯狂的狮子Li
2024-01-05 173c723c7cf7eac71717a5632add5afca79c3eb9
fix 修复 富文本编辑器 单页面多实例图片胡乱问题
已修改1个文件
59 ■■■■■ 文件已修改
src/components/Editor/index.vue 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Editor/index.vue
@@ -13,16 +13,16 @@
      :headers="upload.headers"
    >
    </el-upload>
    <div class="editor">
      <quill-editor
        ref="quillEditorRef"
        v-model:content="content"
        content-type="html"
        :options="options"
        :style="styles"
        @text-change="(e: any) => $emit('update:modelValue', content)"
      />
    </div>
  </div>
  <div class="editor">
    <quill-editor
      ref="quillEditorRef"
      v-model:content="content"
      content-type="html"
      :options="options"
      :style="styles"
      @text-change="(e: any) => $emit('update:modelValue', content)"
    />
  </div>
</template>
@@ -64,30 +64,18 @@
  debug: 'warn',
  modules: {
    // 工具栏配置
    toolbar: {
      container: [
        ['bold', 'italic', 'underline', 'strike'], // 加粗 斜体 下划线 删除线
        ['blockquote', 'code-block'], // 引用  代码块
        [{ list: 'ordered' }, { list: 'bullet' }], // 有序、无序列表
        [{ indent: '-1' }, { indent: '+1' }], // 缩进
        [{ size: ['small', false, 'large', 'huge'] }], // 字体大小
        [{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
        [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
        [{ align: [] }], // 对齐方式
        ['clean'], // 清除文本格式
        ['link', 'image', 'video'] // 链接、图片、视频
      ],
      handlers: {
        image: function (value: any) {
          if (value) {
            // 调用element图片上传
            (document.querySelector('.editor-img-uploader>.el-upload') as HTMLDivElement)?.click();
          } else {
            Quill.format('image', true);
          }
        }
      }
    }
    toolbar: [
      ['bold', 'italic', 'underline', 'strike'], // 加粗 斜体 下划线 删除线
      ['blockquote', 'code-block'], // 引用  代码块
      [{ list: 'ordered' }, { list: 'bullet' }], // 有序、无序列表
      [{ indent: '-1' }, { indent: '+1' }], // 缩进
      [{ size: ['small', false, 'large', 'huge'] }], // 字体大小
      [{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
      [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
      [{ align: [] }], // 对齐方式
      ['clean'], // 清除文本格式
      ['link', 'image', 'video'] // 链接、图片、视频
    ]
  },
  placeholder: '请输入内容',
  readOnly: props.readOnly
@@ -129,7 +117,7 @@
    quill.setSelection(length + 1);
    proxy?.$modal.closeLoading();
  } else {
    proxy?.$modal.loading(res.msg);
    proxy?.$modal.msgError("图片插入失败");
    proxy?.$modal.closeLoading();
  }
};
@@ -157,7 +145,6 @@
// 图片失败拦截
const handleUploadError = (err: any) => {
  console.error(err);
  proxy?.$modal.msgError('上传文件失败');
};
</script>