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

VUE3 el-table 主子表 显示

在Vue 3中,实现主子表(主从表)的显示通常涉及到两个组件:一个是主表(Master Table),另一个是子表(Detail Table)。我们可以使用el-table组件来实现这一功能。这里,我将通过一个示例来展示如何结合使用Element Plus(一个基于Vue 3的UI库,类似于Element UI,但专为Vue 3设计)来展示主子表结构。

1. 安装Element Plus

首先,确保你已经安装了Element Plus。如果还没有安装,可以通过npm或yarn来安装:

npm install element-plus --save
# 或者
yarn add element-plus

2. 引入Element Plus

在你的Vue项目中,引入Element Plus的样式和组件:

import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')

3. 创建主子表组件

在你的Vue组件中,你可以使用el-table来创建主表和子表。这里是一个基本的示例:

主表组件 (MasterTable.vue)
<template><el-table :data="masterData" style="width: 100%"><el-table-column prop="name" label="Name"></el-table-column><el-table-column label="Details"><template #default="scope"><el-button @click="showDetails(scope.$index)">Show Details</el-button></template></el-table-column></el-table><el-dialog :visible.sync="dialogVisible" title="Details"><el-table :data="currentDetails" style="width: 100%"><el-table-column prop="detail" label="Detail"></el-table-column></el-table></el-dialog>
</template><script setup>
import { ref } from 'vue';const masterData = ref([{ name: 'Item 1', details: [{ detail: 'Detail 1.1' }, { detail: 'Detail 1.2' }] },{ name: 'Item 2', details: [{ detail: 'Detail 2.1' }, { detail: 'Detail 2.2' }] }
]);
const dialogVisible = ref(false);
const currentDetails = ref([]);function showDetails(index) {dialogVisible.value = true;currentDetails.value = masterData.value[index].details;
}
</script>

4. 使用主表组件

在你的父组件或者任何其他地方使用MasterTable组件:

<template><MasterTable/>
</template><script setup>
import MasterTable from './components/MasterTable.vue';
</script>

在这个示例中,我们创建了一个主表和一个详情弹窗。点击“Show Details”按钮时,会显示一个包含详细信息的子表。我们使用了Vue的ref来管理数据状态,并通过点击事件来控制弹窗的显示和数据的传递。这种方式使得主子表的交互变得简单而直观。你可以根据需要调整样式和功能。

http://www.dtcms.com/a/276059.html

相关文章:

  • ICCV2025 特征点检测 图像匹配 RIPE
  • 【Elasticsearch 】search_throttled
  • Spark计算性能优化实战指南
  • 面试现场:奇哥扮猪吃老虎,RocketMQ高级原理吊打面试官
  • 一文理解锂电池充电、过放修复与电量测量:从原理到实战
  • Redis Cluster 手动部署(小白的“升级打怪”成长之路)
  • 工业软件出海的ERP-PLM-MES一体化解决方案
  • MCP实验
  • Java 大视界 -- Java 大数据机器学习模型在电商用户复购行为预测与客户关系维护中的应用(343)
  • LangChain 内存(Memory)
  • 小白入门:通过手搓神经网络理解深度学习
  • CCS-MSPM0G3507-4-串口通讯-实现收和发
  • Linux之如何用contOs 7 发送邮件
  • Gitee Push 失败 7 日谈:每天一个踩坑故事
  • (神作必看)深入剖析C++前缀和:原理、应用与高效学习实践
  • python的婚纱影楼管理系统
  • os.type详解
  • 初识JDBC
  • springboot面点连锁店管理系统-计算机毕业设计源码05135
  • 掌握现代CSS:变量、变形函数与动态计算
  • 【FPGA】LUT如何实现组合逻辑、时序逻辑
  • Nginx访问日志实时分析在云服务器环境的Python实现方案
  • 树状数组优化动态规划
  • 【技术面试提+HR面试题】Python中循环与循环嵌套的基础知识以及Python中循环的基础编程题
  • 【设计模式】适配器模式(包装器模式),缺省适配器模式,双向适配器模式
  • OneCode 3.0架构升级:注解驱动与开放接口生态详解
  • 1068万预算!中国足协大模型项目招标,用AI技术驱动足球革命
  • [es自动化更新] 策略体系 | 策略源(容器镜像)
  • Java_Springboot技术框架讲解部分(一)
  • 使用Java完成下面程序