Merge 453d99f90697b53e48def1dd49234f8b6d03f50b into 368e4bd9275a47804d4cadced37e9493b6bd80a3

This commit is contained in:
Kael 2025-03-10 16:42:27 +04:00 committed by GitHub
commit a88c461d7d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 4 deletions

View File

@ -531,7 +531,11 @@ const transformJSXElement = (
) {
VNodeChild = t.objectExpression([
t.objectProperty(t.identifier('default'), child),
]);
optimize && t.objectProperty(
t.identifier('_'),
t.numericLiteral(slotFlag),
) as any,
].filter(Boolean));
} else if (t.isObjectExpression(child)) {
VNodeChild = t.objectExpression(
[
@ -545,9 +549,13 @@ const transformJSXElement = (
? t.objectExpression([
t.objectProperty(
t.identifier('default'),
t.arrowFunctionExpression([], t.arrayExpression([child]))
t.arrowFunctionExpression([], child),
),
])
optimize && t.objectProperty(
t.identifier('_'),
t.numericLiteral(slotFlag),
) as any,
].filter(Boolean))
: t.arrayExpression([child]);
}
}

View File

@ -208,7 +208,8 @@ _createVNode(_Fragment, null, [_createVNode(_resolveComponent("A"), null, {
exports[`passing object slots via JSX children single expression, function expression > single expression, function expression 1`] = `
"import { resolveComponent as _resolveComponent, createVNode as _createVNode } from "vue";
_createVNode(_resolveComponent("A"), null, {
default: () => "foo"
default: () => "foo",
_: 1
});"
`;