DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_13可展开行的固定表头表格

server/2025/3/18 20:30:35/

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕

共同探索软件研发!敬请关注【宝码香车】
关注描述

csdngif标识

目录

  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_13可展开行的固定表头表格
    • 📚页面效果
      • 📘组件代码
    • 📚代码测试
    • 📚测试代码正常跑通,附其他基本代码
      • 📘编写路由 src\router\index.js
      • 📘编写展示入口 src\App.vue
    • 📚页面效果
    • 📚展望


📚📗📕📘📖🕮💡📝🗂️✍️🛠️💻🚀🎉🏗️🌐🖼️🔗📊👉🔖⚠️🌟🔐⬇️·正文开始⬇️·🎥😊🎓📩😺🌈🤝🤖📜📋🔍✅🧰❓📄📢📈 🙋0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣🔟🆗*️⃣#️⃣

DeepSeek__Vue3_TableTable14_13_12">DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_13可展开行的固定表头表格

📚页面效果

<a class=DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_13可展开行的固定表头表格">

📘组件代码

<!-- TableView14_03.vue 可展开行的固定表头表格 -->
<template><div class="table-demo"><h2>13. 添加表头固定功能,可展开行的固定表头表格</h2><p class="description">使用 expandable 和相关插槽实现行展开功能</p><div class="table-container"><Table:data="customers":columns="columns"fixed-headerfixed-header-height="300px"expandable:expanded-keys="expandedKeys"@expand="handleExpand"resizableborderref="tableRef"><!-- 添加展开按钮列 --><template #cell-expand="{ row }"><button class="expand-button"@click="handleExpand(row)":title="`ID: ${row.id}`">{{ expandedKeys.includes(row.id) ? '−' : '+' }}</button></template><!-- 展开行的内容 --><template #expanded-row="{ row }"><div class="expanded-content"><h4>{{ row.name }}的详细信息</h4><div class="info-grid"><div class="info-item"><span class="label">注册时间:</span><span>{{ row.registerTime }}</span></div><div class="info-item"><span class="label">最近登录:</span><span>{{ row.lastLogin }}</span></div><div class="info-item"><span class="label">消费总额:</span><span>¥{{ row.totalSpent }}</span></div><div class="info-item"><span class="label">订单数:</span><span>{{ row.orderCount }}</span></div></div></div></template></Table></div></div>
</template><script setup>javascript">
import { ref, onMounted } from 'vue'
import Table from '@/components/Table/Table.vue'const tableRef = ref(null)const customers = ref([{id: 1,name: '张三',age: 28,city: '北京',level: '黄金',registerTime: '2023-01-15',lastLogin: '2024-03-10',totalSpent: 15800,orderCount: 23},{id: 2,name: '李四',age: 35,city: '上海',level: '白银',registerTime: '2023-03-20',lastLogin: '2024-03-09',totalSpent: 8500,orderCount: 12},{id: 3,name: '王五',age: 42,city: '广州',level: '铂金',registerTime: '2022-12-10',lastLogin: '2024-03-08',totalSpent: 25600,orderCount: 45}
])const columns = ref([{ title: '', dataIndex: 'expand', width: '50px',fixed: 'left',customCell: true },{ title: '姓名', dataIndex: 'name', width: '120px' },{ title: '年龄', dataIndex: 'age', width: '80px' },{ title: '城市', dataIndex: 'city', width: '120px' },{ title: '会员等级', dataIndex: 'level', width: '120px' }
])const expandedKeys = ref([])const handleExpand = (row) => {const index = expandedKeys.value.indexOf(row.id)if (index > -1) {expandedKeys.value.splice(index, 1)} else {expandedKeys.value.push(row.id)}expandedKeys.value = [...expandedKeys.value]
}// 确保表格组件已经挂载
onMounted(() => {// 可以在这里进行一些初始化操作console.log('表格组件已挂载:', tableRef.value)
})
</script><style scoped>
.table-demo {padding: 20px;
}.description {margin: 16px 0;color: #666;
}.table-container {border: 1px solid #ebeef5;border-radius: 4px;position: relative;height: 400px;  /* 设置固定高度 */
}:deep(.table-container) {height: 300px;
}:deep(.body-container) {padding-top: 41px;  /* 使用 padding-top 替代 margin-top */
}:deep(.fixed-header-container) {background: white;z-index: 10;
}.expand-button {width: 24px;height: 24px;line-height: 22px;text-align: center;border: 1px solid #dcdfe6;border-radius<

http://www.ppmy.cn/server/176046.html

相关文章

Java---网络初识

本文章用于理解网络中的各个关键字 1.IP地址 &#xff1a; 用于标识网络主机&#xff0c;和其他网络设备的网络地址 比如我们发快递时&#xff0c;需要知道对方的地址才能将包裹发送给他 格式&#xff1a; IPv4&#xff1a; IP地址是32位二进制数&#xff0c;如&#xff1…

淘宝/天猫获得淘宝商品评论 API 返回值说明

item_review-获得淘宝商品评论 taobao.item_review 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item…

ZooKeeper的五大核心作用及其在分布式系统中的关键价值

引言 在分布式系统的复杂架构中&#xff0c;协调多个节点的一致性、可靠性和高可用性始终是技术挑战的核心。​Apache ZooKeeper作为业界广泛采用的分布式协调服务&#xff0c;凭借其简洁的树形数据模型&#xff08;ZNode&#xff09;和高效的原子广播协议&#xff08;ZAB&…

【Node.js入门笔记6---fs流(Streams)与管道(Pipe)】

Node.js入门笔记6 Node.js---fs 流&#xff08;Streams&#xff09;与管道&#xff08;Pipe&#xff09;一、流&#xff08;Streams&#xff09;与管道&#xff08;Pipe&#xff09;1.fs.createReadStream()&#xff1a;创建可读流&#xff0c;逐块读取文件。逐块读取文件内容&…

四道Dockerfile练习

一、编写Dockerfile&#xff0c;ubuntu_18.04:v3 要求&#xff1a; 1、基础镜像ubuntu:18.04。 2、替换为国内的安装源&#xff08;比如阿里或163&#xff09;。 3、安装openssh-server。 4、允许root用户远程登录。 5、暴露端口22。 6、服务开机自启…

c++图论(二)之图的存储图解

在 C 中实现图的存储时&#xff0c;常用的方法包括 邻接矩阵&#xff08;Adjacency Matrix&#xff09;、邻接表&#xff08;Adjacency List&#xff09; 和 边列表&#xff08;Edge List&#xff09;。以下是具体实现方法、优缺点分析及代码示例&#xff1a; 1. 邻接矩阵&…

双 Token 无感刷新机制在前后端分离架构中实现

在前后端分离的架构中&#xff0c;双 Token 无感刷新是一种常见的身份验证机制&#xff0c;用于在 Access Token 过期时&#xff0c;通过 Refresh Token 自动获取新的 Access Token&#xff0c;从而避免用户频繁登录。 1. 双 Token 无感刷新的核心流程 1.1 核心流程 用户登录&…

ElementUI 表格中插入图片缩略图,鼠标悬停显示大图

如何在 ElementUI 的表格组件 Table 中插入图片缩略图&#xff0c;通过鼠标悬停显示大图&#xff1f;介绍以下2种方式&#xff1a; 方法1&#xff1a;直接在模板元素中插入 <template><el-table :data"tableData"><el-table-column label"图片…