From 138dd757ccce3060fb492d1260b47ce065e08fc2 Mon Sep 17 00:00:00 2001 From: rudyxu1102 Date: Mon, 4 Sep 2023 19:55:39 +0800 Subject: [PATCH] fix(types): allow custom props define in functional components --- packages/dts-test/defineComponent.test-d.tsx | 9 +++++++++ packages/runtime-core/src/apiDefineComponent.ts | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) 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 = {},