vue3-yuanma/packages/runtime-core/src/helpers/renderSlot.ts

26 lines
513 B
TypeScript
Raw Normal View History

2019-09-28 00:29:20 +00:00
import { Slot } from '../componentSlots'
import {
VNodeChildren,
openBlock,
createBlock,
Fragment,
VNode
} from '../vnode'
2019-09-28 00:29:20 +00:00
export function renderSlot(
slot: Slot | undefined,
props: any = {},
// this is not a user-facing function, so the fallback is always generated by
// the compiler and gurunteed to be an array
fallback?: VNodeChildren
): VNode {
return (
openBlock(),
createBlock(
Fragment,
{ key: props.key },
slot ? slot(props) : fallback || []
)
)
2019-09-28 00:29:20 +00:00
}