Skip to content

Commit 8d82468

Browse files
committed
fix(core): fix destructuring issues for defineProps
1 parent 719ac08 commit 8d82468

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<script setup lang="ts">
2+
const { msg = 'default msg' } = defineProps({
3+
msg: String,
4+
count: Number
5+
});
6+
7+
defineExpose({
8+
msg1: msg
9+
})
10+
</script>
11+
12+
<template>
13+
<view>
14+
{{ msg1 }} - {{ count }}
15+
</view>
16+
</template>

packages/language-core/src/codegen/script/scriptSetup.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,18 @@ function* generateSetupFunction(
5555
): Generator<Code> {
5656
let setupCodeModifies: [Code[], number, number][] = []
5757
if (scriptSetupRanges.defineProps) {
58-
const { name, statement, callExp, typeArg } = scriptSetupRanges.defineProps
58+
const { statement, callExp, typeArg } = scriptSetupRanges.defineProps
59+
/**
60+
* fix: set `name` to `undefined`
61+
* 额外给 __VLS_defineProps 赋值一次,防止仅解构一部分时找不到未解构类型
62+
*/
5963
setupCodeModifies.push(
6064
...generateDefineWithType(
6165
scriptSetup,
6266
statement,
6367
scriptSetupRanges.withDefaults?.callExp ?? callExp,
6468
typeArg,
65-
name,
69+
undefined,
6670
`__VLS_defineProps`,
6771
`__VLS_Props`,
6872
),

0 commit comments

Comments
 (0)