fix tabswitcher bugs

This commit is contained in:
Henry Jameson 2022-03-21 21:29:51 +02:00
parent 54fd7e2be6
commit 1187727b60
2 changed files with 9 additions and 4 deletions

View file

@ -1,4 +1,5 @@
import Notifications from '../notifications/notifications.vue'
import TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'
const tabModeDict = {
mentions: ['mention'],
@ -20,7 +21,8 @@ const Interactions = {
}
},
components: {
Notifications
Notifications,
TabSwitcher
}
}

View file

@ -1,5 +1,5 @@
// eslint-disable-next-line no-unused
import { h } from 'vue'
import { h, Fragment } from 'vue'
import { mapState } from 'vuex'
import { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome'
@ -43,14 +43,14 @@ export default {
},
data () {
return {
active: findFirstUsable(this.$slots.default())
active: findFirstUsable(this.slots())
}
},
computed: {
activeIndex () {
// In case of controlled component
if (this.activeTab) {
return this.$slots.default().findIndex(slot => this.activeTab === slot.key)
return this.slots().findIndex(slot => this.activeTab === slot.key)
} else {
return this.active
}
@ -74,6 +74,9 @@ export default {
},
// DO NOT put it to computed, it doesn't work (caching?)
slots () {
if (this.$slots.default()[0].type === Fragment) {
return this.$slots.default()[0].children
}
return this.$slots.default()
},
setTab (index) {