@ -12,7 +12,12 @@ import type {
import { computed } from 'vue' ;
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 { useExpandable } from './expandable' ;
@ -110,6 +115,17 @@ const computedSchema = computed(
? keepIndex <= index
: false ;
/ / 处 理 函 数 形 式 的 f o r m I t e m C l a s s
let resolvedSchemaFormItemClass = schema . formItemClass ;
if ( isFunction ( schema . formItemClass ) ) {
try {
resolvedSchemaFormItemClass = schema . formItemClass ( ) ;
} catch ( error ) {
console . error ( 'Error calling formItemClass function:' , error ) ;
resolvedSchemaFormItemClass = '' ;
}
}
return {
colon ,
disabled ,
@ -133,7 +149,7 @@ const computedSchema = computed(
'flex-shrink-0' ,
{ hidden } ,
formItemClass ,
schema. f ormItemClass,
resolvedSchemaF ormItemClass,
) ,
labelClass : cn ( labelClass , schema . labelClass ) ,
} ;