fix: 修复部分情况 component 类型丢失问题

This commit is contained in:
dullathanol
2026-04-05 01:59:17 +08:00
parent 5211f5065d
commit 834ce3efc0

View File

@@ -263,12 +263,9 @@ type FormSchemaDiscriminated<
} & FormSchemaBody; } & FormSchemaBody;
}[Extract<keyof P, T>]; }[Extract<keyof P, T>];
type FormSchemaFallback< type FormSchemaFallback<T extends BaseFormComponentType> = {
T extends BaseFormComponentType,
P extends Record<string, any>,
> = {
/** 组件 */ /** 组件 */
component: Component | Exclude<T, Extract<keyof P, T>>; component: Component | T;
/** 组件参数 */ /** 组件参数 */
componentProps?: ComponentProps; componentProps?: ComponentProps;
} & FormSchemaBody; } & FormSchemaBody;
@@ -276,14 +273,7 @@ type FormSchemaFallback<
export type FormSchema< export type FormSchema<
T extends BaseFormComponentType = BaseFormComponentType, T extends BaseFormComponentType = BaseFormComponentType,
P extends Record<string, any> = Record<never, never>, P extends Record<string, any> = Record<never, never>,
> = [keyof P] extends [never] > = FormSchemaDiscriminated<T, P> | FormSchemaFallback<T>;
? {
/** 组件 */
component: Component | T;
/** 组件参数 */
componentProps?: ComponentProps;
} & FormSchemaBody
: FormSchemaDiscriminated<T, P> | FormSchemaFallback<T, P>;
export type HandleSubmitFn = ( export type HandleSubmitFn = (
values: Record<string, any>, values: Record<string, any>,