From 6a7e172140d6f5fe1e5787a00b1f4ae8382c2bb8 Mon Sep 17 00:00:00 2001 From: pipipi-pikachu Date: Sat, 14 May 2022 12:03:57 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=BD=A2=E7=8A=B6=E5=86=85=E6=96=87?= =?UTF-8?q?=E5=AD=97=E7=BC=96=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/components/element/ShapeElement/index.vue | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/views/components/element/ShapeElement/index.vue b/src/views/components/element/ShapeElement/index.vue index 4e9666c2..3386cb4d 100644 --- a/src/views/components/element/ShapeElement/index.vue +++ b/src/views/components/element/ShapeElement/index.vue @@ -68,6 +68,7 @@ :autoFocus="true" :value="text.content" @update="value => updateText(value)" + @blur="checkEmptyText()" @mousedown="$event => handleSelectElement($event, false)" /> @@ -163,6 +164,16 @@ export default defineComponent({ addHistorySnapshot() } + const checkEmptyText = () => { + if (!props.elementInfo.text) return + + const pureText = props.elementInfo.text.content.replaceAll(/<[^>]+>/g, '') + if (!pureText) { + slidesStore.removeElementProps({ id: props.elementInfo.id, propName: 'text' }) + addHistorySnapshot() + } + } + return { shadowStyle, outlineWidth, @@ -173,6 +184,7 @@ export default defineComponent({ text, handleSelectElement, updateText, + checkEmptyText, } }, })