bootstrap-vue
Version:
With more than 85 components, over 45 available plugins, several directives, and 1000+ icons, BootstrapVue provides one of the most comprehensive implementations of the Bootstrap v4 component and grid system available for Vue.js v2.6, complete with extens
31 lines (29 loc) • 1.02 kB
JavaScript
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
}
}
})