vant/src/mixins/slots.ts
2020-01-19 11:57:09 +08:00

21 lines
397 B
TypeScript

/**
* Use scopedSlots in Vue 2.6+
* downgrade to slots in lower version
*/
import Vue from 'vue';
export const SlotsMixin = Vue.extend({
methods: {
slots(name = 'default', props: any) {
const { $slots, $scopedSlots } = this;
const scopedSlot = $scopedSlots[name];
if (scopedSlot) {
return scopedSlot(props);
}
return $slots[name];
},
},
});