Merge branch 'main' into feat/add-vben-modal-animation

pull/183/MERGE
panda7 2025-07-18 00:38:54 +08:00 committed by GitHub
commit fc9ea347ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 5 deletions

View File

@ -395,7 +395,7 @@ export interface FormCommonConfig {
* 所有表单项的栅格布局 * 所有表单项的栅格布局
* @default "" * @default ""
*/ */
formItemClass?: string; formItemClass?: (() => string) | string;
/** /**
* 隐藏所有表单项label * 隐藏所有表单项label
* @default false * @default false

View File

@ -12,7 +12,12 @@ import type {
import { computed } from 'vue'; import { computed } from 'vue';
import { Form } from '@vben-core/shadcn-ui'; import { Form } from '@vben-core/shadcn-ui';
import { cn, isString, mergeWithArrayOverride } from '@vben-core/shared/utils'; import {
cn,
isFunction,
isString,
mergeWithArrayOverride,
} from '@vben-core/shared/utils';
import { provideFormRenderProps } from './context'; import { provideFormRenderProps } from './context';
import { useExpandable } from './expandable'; import { useExpandable } from './expandable';
@ -110,6 +115,17 @@ const computedSchema = computed(
? keepIndex <= index ? keepIndex <= index
: false; : false;
// formItemClass
let resolvedSchemaFormItemClass = schema.formItemClass;
if (isFunction(schema.formItemClass)) {
try {
resolvedSchemaFormItemClass = schema.formItemClass();
} catch (error) {
console.error('Error calling formItemClass function:', error);
resolvedSchemaFormItemClass = '';
}
}
return { return {
colon, colon,
disabled, disabled,
@ -133,7 +149,7 @@ const computedSchema = computed(
'flex-shrink-0', 'flex-shrink-0',
{ hidden }, { hidden },
formItemClass, formItemClass,
schema.formItemClass, resolvedSchemaFormItemClass,
), ),
labelClass: cn(labelClass, schema.labelClass), labelClass: cn(labelClass, schema.labelClass),
}; };

View File

@ -174,10 +174,10 @@ export interface FormCommonConfig {
*/ */
formFieldProps?: FormFieldOptions; formFieldProps?: FormFieldOptions;
/** /**
* *
* @default "" * @default ""
*/ */
formItemClass?: string; formItemClass?: (() => string) | string;
/** /**
* label * label
* @default false * @default false