当前位置: 首页 > 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.lryc.cn/news/586586.html

相关文章:

  • Transformer基础
  • Openpyxl:Python操作Excel的利器
  • Qt 多线程编程:单例任务队列的设计与实现
  • 五、深度学习——CNN
  • NW728NW733美光固态闪存NW745NW746
  • C语言32个关键字
  • 锁相环初探
  • Python Day11
  • 《Spring 中上下文传递的那些事儿》Part 11:上下文传递最佳实践总结与架构演进方向
  • LeetCode题解---<485.最大连续1的个数>
  • [Token]Token merging for Vision Generation
  • 【嘉立创】四层板设计
  • 当大模型遇见毫米波:用Wi-Fi信号做“透视”的室内语义SLAM实践——从CSI到神经辐射场的端到端开源方案
  • 2025年亚太杯(中文赛项)数学建模B题【疾病的预测与大数据分析】原创论文分享
  • UnityShader——SSAO
  • Matplotlib 模块入门
  • BERT:双向Transformer革命 | 重塑自然语言理解的预训练范式
  • 从 Spring 源码到项目实战:设计模式落地经验与最佳实践
  • RMSNorm实现
  • 【离线数仓项目】——数据模型开发实战
  • Druid 连接池使用详解
  • 未来软件开发的新方向:从工程到智能的深度演进
  • 张量类型转换
  • 巅峰对决:文心4.5 vs DeepSeek R1 vs 通义Qwen3.0——国产大模型技术路线与场景能力深度横评
  • 剑指offer56_数组中唯一只出现一次的数字
  • HTML(上)
  • 图像扭曲增强处理流程
  • 计算机视觉 之 经典模型汇总
  • 粒子滤波|粒子滤波的相关算法理论介绍
  • 内容总监的效率革命:用Premiere Pro AI,实现视频画幅“一键重构”