From 898503b29e31f7288dcabe418c278e54cbdd2b51 Mon Sep 17 00:00:00 2001 From: zhongming4762 Date: Thu, 21 Aug 2025 17:41:30 +0800 Subject: [PATCH 1/4] perf: perf the validation message for `VbenForm` in compact mode --- .../form-ui/src/form-render/form-field.vue | 27 +++----------- .../shadcn-ui/src/ui/form/FormMessage.vue | 36 +++++++++++++++++-- playground/src/views/examples/form/rules.vue | 11 ++++-- 3 files changed, 46 insertions(+), 28 deletions(-) diff --git a/packages/@core/ui-kit/form-ui/src/form-render/form-field.vue b/packages/@core/ui-kit/form-ui/src/form-render/form-field.vue index d650b8499f3..76956923e02 100644 --- a/packages/@core/ui-kit/form-ui/src/form-render/form-field.vue +++ b/packages/@core/ui-kit/form-ui/src/form-render/form-field.vue @@ -5,7 +5,6 @@ import type { FormSchema, MaybeComponentProps } from '../types'; import { computed, nextTick, onUnmounted, useTemplateRef, watch } from 'vue'; -import { CircleAlert } from '@vben-core/icons'; import { FormControl, FormDescription, @@ -13,7 +12,6 @@ import { FormItem, FormMessage, VbenRenderContent, - VbenTooltip, } from '@vben-core/shadcn-ui'; import { cn, isFunction, isObject, isString } from '@vben-core/shared/utils'; @@ -323,7 +321,7 @@ onUnmounted(() => { -
+
{ :class="{ 'border-destructive focus:border-destructive hover:border-destructive/80 focus:shadow-[0_0_0_2px_rgba(255,38,5,0.06)]': isInValid, + 'hover:z-10 focus:z-10': compact, }" v-bind="createComponentProps(slotProps)" :disabled="shouldDisabled" @@ -356,24 +355,6 @@ onUnmounted(() => { - - - - @@ -385,8 +366,8 @@ onUnmounted(() => {
- - + +
diff --git a/packages/@core/ui-kit/shadcn-ui/src/ui/form/FormMessage.vue b/packages/@core/ui-kit/shadcn-ui/src/ui/form/FormMessage.vue index fb8a8b91556..8e88b098fcd 100644 --- a/packages/@core/ui-kit/shadcn-ui/src/ui/form/FormMessage.vue +++ b/packages/@core/ui-kit/shadcn-ui/src/ui/form/FormMessage.vue @@ -1,10 +1,20 @@ @@ -12,7 +22,29 @@ const { formMessageId, name } = useFormField(); + + diff --git a/playground/src/views/examples/form/rules.vue b/playground/src/views/examples/form/rules.vue index 7ec9549398b..8383bfaf707 100644 --- a/playground/src/views/examples/form/rules.vue +++ b/playground/src/views/examples/form/rules.vue @@ -1,10 +1,14 @@