From d7be207545f531d077679e49accbaf18c932c50c Mon Sep 17 00:00:00 2001 From: jingrow Date: Sat, 1 Nov 2025 20:32:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96pagetype=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=A1=B5Icon=E5=9B=BE=E6=A0=87=E6=B8=B2=E6=9F=93=E5=8F=8A?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/components/form/controls/Icon.vue | 106 ++++++++++++++++-- 1 file changed, 94 insertions(+), 12 deletions(-) diff --git a/apps/jingrow/frontend/src/core/components/form/controls/Icon.vue b/apps/jingrow/frontend/src/core/components/form/controls/Icon.vue index 660921f..a0cf83c 100644 --- a/apps/jingrow/frontend/src/core/components/form/controls/Icon.vue +++ b/apps/jingrow/frontend/src/core/components/form/controls/Icon.vue @@ -1,7 +1,8 @@ @@ -60,10 +110,28 @@ const iconValue = computed(() => { display: flex; align-items: center; justify-content: center; - min-width: 32px; - width: 32px; - height: 32px; + min-width: 36px; + width: 36px; + height: 36px; flex-shrink: 0; + border-radius: 6px; + transition: all 0.2s ease; +} + +.icon-display.clickable { + cursor: pointer; + background-color: #f9fafb; + border: 1px solid #e5e7eb; +} + +.icon-display.clickable:hover { + background-color: #f3f4f6; + border-color: #d1d5db; + transform: scale(1.05); +} + +.icon-display.clickable:active { + transform: scale(0.98); } .icon-gray { @@ -87,6 +155,20 @@ const iconValue = computed(() => { display: flex; align-items: center; } + +/* 编辑模式:输入框样式 */ +.icon-input { + flex: 1; + min-width: 0; +} + +.icon-preview { + transition: all 0.2s ease; +} + +.icon-placeholder-icon { + opacity: 0.5; +}