import Vue from 'vue' import './tab_switcher.scss' export default Vue.component('tab-switcher', { name: 'TabSwitcher', data () { return { active: 0 } }, methods: { activateTab(index) { return () => this.active = index; } }, render(h) { const tabs = this.$slots.default .filter(slot => slot.data) .map((slot, index) => { const classes = ['tab'] if (index === this.active) { classes.push('active') } return () }); const contents = this.$slots.default.filter(_=>_.data).map(( slot, index ) => { const active = index === this.active return (
{slot}
) }); return (
{tabs}
{contents}
) } })