当前位置: 首页 > news >正文

Vue3 动态组件

component

在模板中使用 元素,通过 is 特性来动态切换组件:

<template><div><el-tabs type="card" v-model="activeName" @tab-click="handleClick"><el-tab-pane label="待审核" name="1" /><el-tab-pane label="已通过" name="2" /><el-tab-pane label="未通过" name="3" /><el-tab-pane label="黑名单" name="4" /></el-tabs><componentref="componentRef":is="componentName":activeName="activeName"></component></div>
</template>
<script setup>
import { ref, toRefs, computed, markRaw, nextTick } from "vue";
// 待提交
import PendingReview from "./pendingReview.vue";
// 已通过
import Passed from "./passed.vue";
// 未通过
import NotPass from "./notPass.vue";
// 黑名单
import Blacklist from "./blacklist.vue";const componentRef = ref();const activeName = ref("1");
const componentName = ref(markRaw(PendingReview));const handleClick = (tab) => {if (tab.paneName === "1") {componentName.value = markRaw(PendingReview);} else if (tab.paneName === "2") {componentName.value = markRaw(Passed);} else if (tab.paneName === "3") {componentName.value = markRaw(NotPass);} else {componentName.value = markRaw(Blacklist);}
};
</script>
<style></style>

使用 v-if 或 v-show

<template><div><el-tabs type="card" v-model="activeName"><el-tab-pane label="待审核" name="1" /><el-tab-pane label="已通过" name="2" /><el-tab-pane label="未通过" name="3" /><el-tab-pane label="黑名单" name="4" /></el-tabs><PendingReview v-if="activeName == '1'"/><Passed v-if="activeName == '2'"/><NotPass v-if="activeName == '3'"/><Blacklist v-if="activeName == '4'"/></div>
</template>
<script setup>
import { ref, toRefs, computed, markRaw, nextTick } from "vue";
// 待提交
import PendingReview from "./pendingReview.vue";
// 已通过
import Passed from "./passed.vue";
// 未通过
import NotPass from "./notPass.vue";
// 黑名单
import Blacklist from "./blacklist.vue";const componentRef = ref();const props = defineProps({callData: {},
});
const activeName = ref("1");</script>
<style></style>

http://www.mrgr.cn/news/22688.html

相关文章:

  • JVM 调优篇2 jvm的内存结构以及堆栈参数设置与查看
  • 考拉悠然产品发布会丨以悠然远智全模态AI应用平台探索AI行业应用
  • 0 ~ 100的整数,对n取模,值分别是0, 1, ..., n-1
  • 【网页播放器】播放自己喜欢的音乐
  • SAP ABAP 销售订单冲减独立需求流程
  • 信贷域——信贷业务
  • 关于汽车加油是加200还是加满的思考
  • LDtk to Unity 大致流程和一些注意点
  • 什么开放式耳机最好?长文传授6招秘籍,彻底远离坑货!
  • 快被右下角的windows Defender烦死了,怎么让它消失?
  • Java 入门指南:JVM(Java虚拟机)—— HotSpot 处理 Java 堆中的对象
  • 研发效能-加速
  • 【拥抱AI】浅谈Prompt的书写规范及要点
  • [Linux入门]---进程替换
  • ECMAScript 与 JavaScript 的深入对比与关系探讨
  • 【Linux 从基础到进阶】Puppet配置管理工具使用
  • 【阿里千问最新多模态模型】Qwen2-VL:让世界看得更清晰
  • 客户管理太难了?你可能忽视了这些常见问题
  • 智能空调离线语音控制方案:NRK3502语音识别芯片深度解析与应用
  • misc音频隐写