vue3 动态组件

<template>    <div class="max_box">        <a-tabs v-model:activeKey="activeKey"  @change="callback">            <a-tab-pane  :tab="item.tab" v-for="item in state.list" :key="item.key">           </a-tab-pane>        </a-tabs>        <component :is="state.currentComponent"></component>    </div></template> <script setup lang="ts">import { ref,reactive,defineAsyncComponent,onMounted} from 'vue';const activeKey = ref('SJPZ');const state = reactive<any>({    list:[      {        key:'GXDZP',        tab:'关系对照'      },      {        key:'SJPZ',        tab:'数据匹配'      }    ],    currentComponent:'',})const mapModule = new Map([  ["SJPZ", defineAsyncComponent(() => import("./components/dataMatching/index.vue"))],  ["GXDZP", defineAsyncComponent(() => import("./components/relationalComparison/index.vue"))],]);onMounted(() =>{    state.currentComponent = mapModule.get("GXDZP");})const callback = (val:any) => {    state.currentComponent = mapModule.get(val);};</script> <style scoped> </style>

     

    posted @   前端搬运工bug  阅读(21)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
    · 使用C#创建一个MCP客户端
    · ollama系列1:轻松3步本地部署deepseek,普通电脑可用
    · 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
    · 按钮权限的设计及实现
    点击右上角即可分享
    微信分享提示