From 312bcd3263af7459b6fec931a1e369d67da936a9 Mon Sep 17 00:00:00 2001 From: Johnson Chu Date: Sun, 23 Apr 2023 18:17:38 +0800 Subject: [PATCH] fix: cannot infer slots type in vue2 close #2682 --- packages/vue-language-core/src/utils/localTypes.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vue-language-core/src/utils/localTypes.ts b/packages/vue-language-core/src/utils/localTypes.ts index 244a0c8d5..5bde1c360 100644 --- a/packages/vue-language-core/src/utils/localTypes.ts +++ b/packages/vue-language-core/src/utils/localTypes.ts @@ -1,4 +1,5 @@ import { VueCompilerOptions } from '../types'; +import { getSlotsPropertyName } from './shared'; import { getVueLibraryName } from './shared'; export const typesFileName = '__VLS_types.d.ts'; @@ -92,7 +93,7 @@ export declare function asFunctionalComponent'}, ctx?: { attrs?: any, expose?(exposed: K): void, - slots?: K extends { $slots: infer Slots } ? Slots : any, + slots?: K extends { ${getSlotsPropertyName(vueCompilerOptions.target)}: infer Slots } ? Slots : any, emit?: K extends { $emit: infer Emit } ? Emit : any }) => JSX.Element & { __ctx?: typeof ctx, __props?: typeof props } : T extends () => any ? (props: {}, ctx?: any) => ReturnType