diff --git a/packages/dts-test/functionalComponent.test-d.tsx b/packages/dts-test/functionalComponent.test-d.tsx index 827e8d63fe7..22efc5849ed 100644 --- a/packages/dts-test/functionalComponent.test-d.tsx +++ b/packages/dts-test/functionalComponent.test-d.tsx @@ -45,7 +45,7 @@ Bar.emits = { Bar.emits = { baz: () => void 0 } // TSX -expectType() +expectType( {}} />) // @ts-expect-error ; // @ts-expect-error diff --git a/packages/runtime-core/src/component.ts b/packages/runtime-core/src/component.ts index 57a53a39b76..c7656c8dc05 100644 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@ -50,7 +50,8 @@ import { ObjectEmitsOptions, EmitFn, emit, - normalizeEmitsOptions + normalizeEmitsOptions, + EmitsToProps } from './componentEmits' import { EMPTY_OBJ, @@ -131,7 +132,7 @@ export interface FunctionalComponent< > extends ComponentInternalOptions { // use of any here is intentional so it can be a valid JSX Element constructor ( - props: P, + props: P & EmitsToProps, ctx: Omit>>, 'expose'> ): any props?: ComponentPropsOptions