diff --git a/.changeset/loud-laws-drop.md b/.changeset/loud-laws-drop.md new file mode 100644 index 000000000..aed08b4f2 --- /dev/null +++ b/.changeset/loud-laws-drop.md @@ -0,0 +1,5 @@ +--- +"@vue-macros/volar": patch +--- + +v-if and v-slot co-usage diff --git a/packages/jsx-directive/tests/__snapshots__/v-slot.test.ts.snap b/packages/jsx-directive/tests/__snapshots__/v-slot.test.ts.snap index b3109ed6d..60dded0f0 100644 --- a/packages/jsx-directive/tests/__snapshots__/v-slot.test.ts.snap +++ b/packages/jsx-directive/tests/__snapshots__/v-slot.test.ts.snap @@ -39,6 +39,12 @@ defineRender(() => ( {expectTypeOf(foo)} ,}}> + + {foo} + ,} : null,}} + + > + scopedSlots={{...(show) ? {'title': ({ foo }) => {expectTypeOf(foo)} {show} @@ -97,6 +103,12 @@ defineRender(() => ( {expectTypeOf(foo)} ,}}> + <> + {foo} + ,} : null,}} + + > + v-slots={{...(show) ? {'title': ({ foo }) => <> {expectTypeOf(foo)} {show} diff --git a/packages/jsx-directive/tests/fixtures/v-slot/index.vue b/packages/jsx-directive/tests/fixtures/v-slot/index.vue index 451866a24..4c3ad6fd6 100644 --- a/packages/jsx-directive/tests/fixtures/v-slot/index.vue +++ b/packages/jsx-directive/tests/fixtures/v-slot/index.vue @@ -35,6 +35,12 @@ defineRender(() => ( {expectTypeOf(foo)} + + + + > default