diff --git a/packages/vue-language-core/src/generators/script.ts b/packages/vue-language-core/src/generators/script.ts index 3a195b300..34c8f211f 100644 --- a/packages/vue-language-core/src/generators/script.ts +++ b/packages/vue-language-core/src/generators/script.ts @@ -337,13 +337,11 @@ export function generate( //#region props if ( - (scriptSetupRanges.propsRuntimeArg && scriptSetupRanges.defineProps) + scriptSetupRanges.propsRuntimeArg || scriptSetupRanges.defineProp.length ) { - if (scriptSetupRanges.propsRuntimeArg && scriptSetupRanges.defineProps) { - codes.push(`const __VLS_props = `); - addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.defineProps.start, scriptSetupRanges.defineProps.end); - codes.push(`;\n`); + if (scriptSetupRanges.propsRuntimeArg) { + codes.push(`const __VLS_props = (new __VLS_publicComponent()).$props;\n`); } else if (scriptSetupRanges.defineProp.length) { codes.push(`const __VLS_defaults = {\n`); diff --git a/packages/vue-test-workspace/vue-tsc/#2754/comp.vue b/packages/vue-test-workspace/vue-tsc/#2754/comp.vue new file mode 100644 index 000000000..b8a7f837b --- /dev/null +++ b/packages/vue-test-workspace/vue-tsc/#2754/comp.vue @@ -0,0 +1,9 @@ + diff --git a/packages/vue-test-workspace/vue-tsc/#2754/main.vue b/packages/vue-test-workspace/vue-tsc/#2754/main.vue new file mode 100644 index 000000000..ea94b5f87 --- /dev/null +++ b/packages/vue-test-workspace/vue-tsc/#2754/main.vue @@ -0,0 +1,7 @@ + + +