mirror of
https://github.com/vuejs/babel-plugin-jsx.git
synced 2025-03-13 06:04:39 +08:00
fix: add slotFlags for implicit default slots
This commit is contained in:
parent
5e77d5d5e5
commit
453d99f906
@ -512,7 +512,11 @@ const transformJSXElement = (
|
|||||||
) {
|
) {
|
||||||
VNodeChild = t.objectExpression([
|
VNodeChild = t.objectExpression([
|
||||||
t.objectProperty(t.identifier('default'), child),
|
t.objectProperty(t.identifier('default'), child),
|
||||||
]);
|
optimize && t.objectProperty(
|
||||||
|
t.identifier('_'),
|
||||||
|
t.numericLiteral(slotFlag),
|
||||||
|
) as any,
|
||||||
|
].filter(Boolean));
|
||||||
} else if (t.isObjectExpression(child)) {
|
} else if (t.isObjectExpression(child)) {
|
||||||
VNodeChild = t.objectExpression(
|
VNodeChild = t.objectExpression(
|
||||||
[
|
[
|
||||||
@ -526,9 +530,13 @@ const transformJSXElement = (
|
|||||||
? t.objectExpression([
|
? t.objectExpression([
|
||||||
t.objectProperty(
|
t.objectProperty(
|
||||||
t.identifier('default'),
|
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]);
|
: t.arrayExpression([child]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -164,7 +164,8 @@ _createVNode(_resolveComponent("A"), null, {
|
|||||||
exports[`passing object slots via JSX children single expression, function expression > single expression, function expression 1`] = `
|
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";
|
"import { resolveComponent as _resolveComponent, createVNode as _createVNode } from "vue";
|
||||||
_createVNode(_resolveComponent("A"), null, {
|
_createVNode(_resolveComponent("A"), null, {
|
||||||
default: () => "foo"
|
default: () => "foo",
|
||||||
|
_: 1
|
||||||
});"
|
});"
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user