import {NTabPane, NTabs} from 'naive-ui' import {defineComponent, nextTick, onMounted, reactive, ref} from 'vue' import {useRoute} from 'vue-router' import {getTabsCache, setTabsCaches} from '@/hooks/use-async' import SmsConfig from "@views/message/message-config/sms/sms-config"; import PushConfig from "@views/message/message-config/push/push-config"; import WechatConfig from "@views/message/message-config/wechat/wechat-config"; import EmailConfig from "@views/message/message-config/email/email-config"; export default defineComponent({ name: 'message-config-index', setup() { const state = reactive({ tabName: 'SMS' as 'SMS' | 'PUSH' | 'EMAIL' | 'WECHAT', }) const tabsInstRef = ref() getTabsCache((val: any) => { if (val.form.tabName) { state.tabName = val.form.tabName nextTick(() => tabsInstRef.value?.syncBarPosition()) } }) const route = useRoute() const setTabs = (val: any) => { setTabsCaches(val, 'tabName', route) } onMounted(async () => { nextTick(() => tabsInstRef.value?.syncBarPosition()) }) return () => { return (
setTabs(val)} >
) } } })