forked from bootstrap-vue/bootstrap-vue
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnormalize-slot.js
30 lines (29 loc) · 1 KB
/
normalize-slot.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { extend } from '../vue'
import { SLOT_NAME_DEFAULT } from '../constants/slots'
import { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'
import { concat } from '../utils/array'
// @vue/component
export const normalizeSlotMixin = extend({
methods: {
// Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name
// `name` can be a string name or an array of names
hasNormalizedSlot(
name = SLOT_NAME_DEFAULT,
scopedSlots = this.$scopedSlots,
slots = this.$slots
) {
return hasNormalizedSlot(name, scopedSlots, slots)
},
// Returns an array of rendered VNodes if slot found, otherwise `undefined`
// `name` can be a string name or an array of names
normalizeSlot(
name = SLOT_NAME_DEFAULT,
scope = {},
scopedSlots = this.$scopedSlots,
slots = this.$slots
) {
const vNodes = normalizeSlot(name, scope, scopedSlots, slots)
return vNodes ? concat(vNodes) : vNodes
}
}
})