|
|
@@ -19,6 +19,7 @@ import type { Component } from 'vue';
|
|
|
import type {
|
|
|
ApiComponentSharedProps,
|
|
|
VbenFormSchema as CoreFormSchema,
|
|
|
+ FormActions,
|
|
|
IconPickerProps,
|
|
|
} from '@vben/common-ui';
|
|
|
|
|
|
@@ -27,21 +28,10 @@ import type { ComponentType } from './component';
|
|
|
type ElTreeSelectSchemaProps = InstanceType<typeof ElTreeSelect>['$props'];
|
|
|
type ElTimePickerSchemaProps = InstanceType<typeof ElTimePicker>['$props'];
|
|
|
|
|
|
-type ComponentPropsFnArgs = Parameters<
|
|
|
- Extract<
|
|
|
- NonNullable<CoreFormSchema<ComponentType>['componentProps']>,
|
|
|
- (...args: any) => any
|
|
|
- >
|
|
|
->;
|
|
|
-
|
|
|
-/**
|
|
|
- * 使用适配器里为各 `component` 声明的 Props 类型 `P`;
|
|
|
- * 与 `Record<string, any>` 相交以兼容核心库 `MaybeComponentProps` 的索引签名。
|
|
|
- */
|
|
|
type ComponentProps<P> =
|
|
|
| ((
|
|
|
- value: ComponentPropsFnArgs[0],
|
|
|
- actions: ComponentPropsFnArgs[1],
|
|
|
+ value: Partial<Record<string, any>>,
|
|
|
+ actions: FormActions,
|
|
|
) => P & Record<string, any>)
|
|
|
| (P & Record<string, any>);
|
|
|
|