diff --git a/packages/runtime-core/src/apiDefineComponent.ts b/packages/runtime-core/src/apiDefineComponent.ts index f3ccd8280ab..133b0dd600d 100644 --- a/packages/runtime-core/src/apiDefineComponent.ts +++ b/packages/runtime-core/src/apiDefineComponent.ts @@ -45,10 +45,6 @@ export type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps -type NormalizePropsOptions = ComponentPropsOptions extends T ? {} : T - -type NormalizeEmitsOptions = EmitsOptions extends T ? {} : T - export interface ComponentOptionsSchema { setup(): unknown data(): unknown @@ -338,8 +334,12 @@ export function defineComponent< _InjectKeys extends string = string, // resolved types NormalizedProps extends - ComponentPropsOptions = NormalizePropsOptions, - NormalizedEmits extends EmitsOptions = NormalizeEmitsOptions, + ComponentPropsOptions = ComponentPropsOptions extends RawPropsOptions + ? {} + : RawPropsOptions, + NormalizedEmits extends EmitsOptions = EmitsOptions extends RawEmitsOptions + ? string[] + : RawEmitsOptions, ResolvedEmits extends ObjectEmitsOptions = ResolveEmitsOptions< NormalizedEmits, TypeEmits