From 920e079727285c5b7ce67641adcee1b2545b9ccc Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 09 十月 2023 12:00:15 +0800 Subject: [PATCH] update 优化 富文本Editor组件检验图片格式 --- src/components/Editor/index.vue | 40 ++++++++++++++++------------------------ 1 files changed, 16 insertions(+), 24 deletions(-) diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue index 6aef16b..b5299b4 100644 --- a/src/components/Editor/index.vue +++ b/src/components/Editor/index.vue @@ -9,13 +9,13 @@ name="file" :show-file-list="false" :headers="upload.headers" - style="display: none" + ref="uploadRef" v-if="type === 'url'" > </el-upload> <div class="editor"> <quill-editor - ref="myQuillEditor" + ref="quillEditorRef" v-model:content="content" contentType="html" @textChange="(e: any) => $emit('update:modelValue', content)" @@ -53,7 +53,7 @@ headers: globalHeaders(), url: import.meta.env.VITE_APP_BASE_API + '/resource/oss/upload' }) -const myQuillEditor = ref(); +const quillEditorRef = ref(); const options = ref({ theme: "snow", @@ -86,7 +86,7 @@ }, } }, - placeholder: '璇疯緭鍏ュ唴瀹�', + placeholder: "璇疯緭鍏ュ唴瀹�", readOnly: props.readOnly, }); @@ -110,10 +110,10 @@ // 鍥剧墖涓婁紶鎴愬姛杩斿洖鍥剧墖鍦板潃 const handleUploadSuccess = (res: any) => { - // 鑾峰彇瀵屾枃鏈疄渚� - let quill = toRaw(myQuillEditor.value).getQuill(); // 濡傛灉涓婁紶鎴愬姛 if (res.code === 200) { + // 鑾峰彇瀵屾枃鏈疄渚� + let quill = toRaw(quillEditorRef.value).getQuill(); // 鑾峰彇鍏夋爣浣嶇疆 let length = quill.selection.savedRange.index; // 鎻掑叆鍥剧墖锛宺es涓烘湇鍔″櫒杩斿洖鐨勫浘鐗囬摼鎺ュ湴鍧� @@ -129,6 +129,13 @@ // 鍥剧墖涓婁紶鍓嶆嫤鎴� const handleBeforeUpload = (file: any) => { + const type = ["image/jpeg", "image/jpg", "image/png", "image/svg"]; + const isJPG = type.includes(file.type); + //妫�楠屾枃浠舵牸寮� + if (!isJPG) { + proxy?.$modal.msgError(`鍥剧墖鏍煎紡閿欒!`); + return false; + } // 鏍℃鏂囦欢澶у皬 if (props.fileSize) { const isLt = file.size / 1024 / 1024 < props.fileSize; @@ -149,95 +156,80 @@ </script> <style> +.editor-img-uploader { + display: none; +} .editor, .ql-toolbar { white-space: pre-wrap !important; line-height: normal !important; } - .quill-img { display: none; } - .ql-snow .ql-tooltip[data-mode="link"]::before { content: "璇疯緭鍏ラ摼鎺ュ湴鍧�:"; } - .ql-snow .ql-tooltip.ql-editing a.ql-action::after { border-right: 0; content: "淇濆瓨"; padding-right: 0; } - .ql-snow .ql-tooltip[data-mode="video"]::before { content: "璇疯緭鍏ヨ棰戝湴鍧�:"; } - .ql-snow .ql-picker.ql-size .ql-picker-label::before, .ql-snow .ql-picker.ql-size .ql-picker-item::before { content: "14px"; } - .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before { content: "10px"; } - .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before { content: "18px"; } - .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before { content: "32px"; } - .ql-snow .ql-picker.ql-header .ql-picker-label::before, .ql-snow .ql-picker.ql-header .ql-picker-item::before { content: "鏂囨湰"; } - .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { content: "鏍囬1"; } - .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { content: "鏍囬2"; } - .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { content: "鏍囬3"; } - .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { content: "鏍囬4"; } - .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { content: "鏍囬5"; } - .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { content: "鏍囬6"; } - .ql-snow .ql-picker.ql-font .ql-picker-label::before, .ql-snow .ql-picker.ql-font .ql-picker-item::before { content: "鏍囧噯瀛椾綋"; } - .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before { content: "琛嚎瀛椾綋"; } - .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { content: "绛夊瀛椾綋"; -- Gitblit v1.9.3