From 0a6c2e75a70dabaa23e27d34fbb10bb040d34212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=B1=E8=BE=BE?= Date: Wed, 19 Mar 2025 18:56:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(contenteditable):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8D=A0=E4=BD=8D=E7=AC=A6=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=BC=96=E8=BE=91=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现了 contenteditable 组件的占位符功能 - 优化了编辑器的初始化和变更处理逻辑 - 调整了编辑器样式,增加了最小高度 - 移除了不必要的模板代码 --- components.d.ts | 2 + src/assets/css/public.scss | 12 + src/components/contenteditable.vue | 56 +++- src/stores/modules/common.ts | 395 +---------------------------- src/views/Survey/Index.vue | 2 +- 5 files changed, 69 insertions(+), 398 deletions(-) diff --git a/components.d.ts b/components.d.ts index f8ab87f..f62d4bc 100644 --- a/components.d.ts +++ b/components.d.ts @@ -16,6 +16,8 @@ declare module 'vue' { ElOption: typeof import('element-plus/es')['ElOption'] ElSelect: typeof import('element-plus/es')['ElSelect'] ElSpace: typeof import('element-plus/es')['ElSpace'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElText: typeof import('element-plus/es')['ElText'] RichText: typeof import('./src/components/RichText.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] diff --git a/src/assets/css/public.scss b/src/assets/css/public.scss index c5f6ce4..3ceae53 100644 --- a/src/assets/css/public.scss +++ b/src/assets/css/public.scss @@ -255,3 +255,15 @@ input { color: #4b4b59 !important; font-weight: unset !important; } + +.editor-placeholder { + position: relative; + + &::after { + content: attr(data-placeholder); + position: absolute; + top: 0; + left: 0; + pointer-events: none; // 确保占位符不会干扰用户输入 + } +} diff --git a/src/components/contenteditable.vue b/src/components/contenteditable.vue index 5d1869c..4c83590 100644 --- a/src/components/contenteditable.vue +++ b/src/components/contenteditable.vue @@ -1,15 +1,22 @@