news 2026/7/4 8:38:33

Eltable二次封装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Eltable二次封装

封装

<template> <div> <el-table :data="tableData" border stripe :header-row-style="{ background: '#F1F6FF !important', color: '#3E445', fontWeight: '500', }" > <template v-for="(item, index) in column" > <el-table-column v-if="item.slot" :align="item.align" :label="item.label" :min-width="item.minWidth" :width="item.width" :fixed="item.fixed" > <template slot-scope="scope"> <slot :name="item.slot" :row="scope.row"></slot> </template> </el-table-column> <el-table-column v-else :align="item.align" :prop="item.prop" :label="item.label" :width="item.width" :min-width="item.minWidth" ></el-table-column> </template> </el-table> <el-pagination v-if="total" background layout="total, sizes, prev, pager, next" :page-sizes="pageSizes" :page-size="pageSize" :current-page="currentPage" :total="total" class="fyDiv" @size-change="handleSize" @current-change="handlePage" ></el-pagination> </div> </template> <script> export default { props: { tableData: { type: Array, default: () => [] }, column: { type: Array, default: () => [] }, total: { type: Number, default: () => 0 }, pageSizes: { type: Array, default: () => [10, 20, 30, 40], }, pageSize: { type: Number, default: () => 10 }, currentPage: { type: Number, default: () => 1 }, }, data() { return { } }, methods: { handleSize(){ this.$emit('handleSize') }, handlePage(){ this.$emit('handlePage') }, } } </script> <style lang="scss" scoped> ::v-deep .el-table__cell{ min-height: 46px; } </style>

使用

<TablePage :column="column" :tableData="customerTable" > <template #level="scope"> {{ scope.row.level | CustomerLevelType }} </template> <template #stage="scope"> {{ scope.row.stage | CustomerStageType }} </template> <template #type="scope"> {{ scope.row.type | CustomerStageType }} </template> <template #action="scope"> <el-link type="primary" :underline="false" @click="openCustomer('edit',scope.row)" style="">按钮</el-link> <el-link type="primary" :underline="false" @click="openDetails(scope.row.id)">按钮</el-link> </template> </TablePage>

数据格式

column: [ { label: '客户ID', prop: 'number', minWidth: 150, },{ label: '客户名称', slot: 'name', minWidth: 180, },{ label: '客户级别', prop: 'levelStr', minWidth: 100, },{ label: 'POI名称', slot: 'poiName', minWidth: 150, } ]
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 4:16:38

Java字节流:数据传输的底层万能通道

Java字节流是IO体系中处理数据的“基石”&#xff0c;以8位byte为最小传输单位&#xff0c;能无差别读写所有类型数据&#xff08;文本、图片、视频等&#xff09;&#xff0c;是程序与磁盘、网络等外部设备交互的底层桥梁。无论是文件存储、网络通信还是二进制数据处理&#x…

作者头像 李华
网站建设 2026/7/1 21:33:30

基因研究到药物研发,亚马逊云科技生成式AI如何加速癌症终结?

亚马逊云科技技术通过加速基因分析、改进早期检测、加速药物研发以及扩大医疗服务覆盖范围&#xff0c;为全球医疗服务提供者对抗癌症提供了支持。每年2月4日的世界癌症日提醒着我们&#xff0c;全球数以百万计的人受到了癌症的影响。在亚马逊云科技&#xff0c;我们正与研究人…

作者头像 李华
网站建设 2026/7/3 7:31:28

vue基于Spring Boot的心理咨询预约管理系统应用和研究_32h35596

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/7/2 3:04:26

亚马逊云科技如何为生命科学行业提供更强大的AI支持?

随着DeepSeek-R1推理模型的广泛应用&#xff0c;其强大的推理能力逐渐显现。与人类的思维方式类似&#xff0c;大语言模型分为“慢思考”和“快思考”两种模式。慢思考适用于复杂的多步推理任务&#xff0c;如撰写文章、制定研究计划等&#xff1b;而快思考则用于一步完成的简单…

作者头像 李华
网站建设 2026/7/2 3:07:13

vue基于Spring Boot的现代化动物园观光游览系统的应用和研究_716v8zj0

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华
网站建设 2026/6/29 20:45:25

27岁从传统行业裸辞转网络安全,我是如何实现弯道超车的

27 岁从传统行业裸辞转网络安全&#xff0c;我是如何做到的&#xff1f; 27 岁女生从传统行业裸辞转网络安全&#xff0c;3 个月拿到大厂 offer&#xff1a;这行真的没你想的那么难 后台经常收到私信&#xff0c;问我一个做了 4 年传统行业&#xff08;之前是线下品牌运营&am…

作者头像 李华