diff --git a/packages/dts-test/defineComponent.test-d.tsx b/packages/dts-test/defineComponent.test-d.tsx index 7466249e10f..559b881d882 100644 --- a/packages/dts-test/defineComponent.test-d.tsx +++ b/packages/dts-test/defineComponent.test-d.tsx @@ -1389,6 +1389,15 @@ describe('function syntax w/ runtime props', () => { ) }) +describe('function syntax w/ allowed props', () => { + const Foo = defineComponent((props: { msg: string }, ctx) => { + return () => {} + }) + expectType( + + ) +}) + // check if defineComponent can be exported export default { // function components diff --git a/packages/runtime-core/src/apiDefineComponent.ts b/packages/runtime-core/src/apiDefineComponent.ts index 272bb548751..510cfc4a89d 100644 --- a/packages/runtime-core/src/apiDefineComponent.ts +++ b/packages/runtime-core/src/apiDefineComponent.ts @@ -112,7 +112,7 @@ export function defineComponent< emits?: E | EE[] slots?: S } -): (props: Props & EmitsToProps) => any +): (props: Props & EmitsToProps & PublicProps) => any export function defineComponent< Props extends Record, E extends EmitsOptions = {},