基于element ui封装table组件

效果图:

1.封装表格代码如下

<template>
<div><div class="TableList"><el-tablev-loading="loading"@selection-change="selectionChange"class="table":data="tableData":border="hasBorder":row-class-name="tableRowClassName"ref="multipleTable":header-cell-style="{background: 'rgb(245 247 250)',color: 'rgb(51, 51, 51)',}"><el-table-column type="selection" width="50" v-if="selectionShow"> </el-table-column><!-- 序号 --><el-table-column v-if="hasIndex" type="index" label="序号" header-align="center" align="center" width="80"> </el-table-column><!-- 其他 --><template v-for="item in tableColumnOptions"><!-- 插槽列 --><el-table-columnv-if="item.columnType":key="item.label":prop="item.prop":label="item.label":width="item.width":header-align="item.headerAlign || 'center'":align="item.align || 'center'"><template slot-scope="{ row }"><slot :name="item.soltName" :data="row"></slot></template></el-table-column><!-- 非插槽列 --><el-table-columnv-else:key="item.label":prop="item.prop":label="item.label":width="item.width":header-align="item.headerAlign || 'center'":align="item.align || 'center'"><!--          表头的特殊处理(eg:表头上加提示或图标等)--><template slot="header" v-if="item.showIcon"><div class="tab-header">{{ item.label }}<el-tooltip :content="item.content" placement="top"><i  class="el-icon-warning-outline icon"></i></el-tooltip></div></template></el-table-column></template><el-table-column type="selection" width="50" v-if="selectionShow1" :selectable="checkboxT"> </el-table-column></el-table></div>
</div>
</template>
<script>
export default {props:{// 表格数据tableData: {type: Array,default() {return [];},},// 表格列项tableColumnOptions: {type: Array,require: true,default() {return [];},},// 是否具有索引hasIndex: {type: Boolean,default() {return true;},},// 是否显示边框hasBorder: {type: Boolean,default() {return false;},},// 是否显示选择框selectionShow: {type: Boolean,default() {return true;},},//加载loading: {type: Boolean,default: false,},},methods:{// 选择框改变selectionChange(e){this.$emit('selectionChange',e)},tableRowClassName({ row, rowIndex }) {},}
}
</script>
<style scoped lang="scss"></style>

2.在页面上使用

<template>
<div><tableList:selection-show="true":loading="loading":has-index="false":has-border="true":table-data="tableData":table-column-options="tableColumnOptions"@selectionChange="selectionChange"><!-- 类型插槽 --><template #tag="{ data }"><div class="tag"><el-tag type="success" v-if="data.type === 1">tag1</el-tag><el-tag type="danger" v-if="data.type === 0">tag2</el-tag></div></template><!-- 操作插槽 --><template #operation="{ data }"><el-button type="text" @click="handleEdit(data)">编辑</el-button><el-button type="text" @click="handleDelete(data)" id="delete">删除</el-button></template></tableList>
</div>
</template>
<script>
import tableList from '@/views/daily-examine/components/table/index.vue';
export default {components:{tableList},data(){return {loading:false,tableData:[{ id: 202391074073, name: "张三", type: 1,special:'1'},{ id: 202391074071, name: "李四", type: 0,special:'1'},{ id: 202391074074, name: "王二", type: 0,special:'1'},{ id: 202391074074, name: "马六", type: 0,special:'1'},{ id: 202391074074, name: "李六", type: 1,special:'1'},],tableColumnOptions:[{ label: "账号", prop: "id" },{ label: "姓名", prop: "name" },{ label: "tag", prop: "type", columnType: true, soltName: "tag" },{ label: "表头特殊处理",prop:'special',showIcon:true, content:'提示,提示,提示', },{ label: "操作", width: "300", columnType: true, soltName: "operation"},],}},methods:{selectionChange(){},//编辑handleEdit(data){},//删除handleDelete(data){},}
}
</script>
<style scoped lang="scss"></style>

以上就是基于element ui封装table组件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/583096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现

【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现 1 题目 赛题 B DNA 存储中的序列聚类与比对 近年来&#xff0c;随着新互联网设备的大量涌入和对其服务需求的指数级增长&#xff0c;越来越多的数据信息被产生与收集。预计到 2021 年&#xf…

如何手动升级Chrome插件/Chrome扩展程序?

Chrome 浏览器的插件&#xff08;也称为扩展&#xff09;通常会自动更新到最新版本。这是因为 Chrome 会定期检查并下载来自 Chrome 网上应用店的扩展更新。然而&#xff0c;如果你需要手动更新扩展&#xff0c;可以按照以下步骤操作&#xff1a; 打开 Chrome 浏览器。点击浏览…

.Net FrameWork总结

.Net FrameWork总结 介绍.Net公共语言运行库CLI的组成.NET Framework的主要组成.NET Framework的优点CLR在运行期管理程序的执行&#xff0c;包括以下内容CLR提供的服务FCL的组成 或 服务&#xff08;这个其实就是我们编码时常用到的类库&#xff09;&#xff1a;&#xff08;下…

408数据结构常考算法基础训练

408相关&#xff1a; 408数据结构错题知识点拾遗 408数据结构常考算法基础训练 408计算机组成原理错题知识点拾遗408操作系统错题知识点拾遗等待完善408计算机网络错题知识点拾遗 408计算机网络各层协议简记等待完善 该训练营为蓝蓝考研&#xff08;蓝颜知己&#xff09;的算…

Python漂浮爱心完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

【PXIE301-208】基于PXIE总线架构的Serial RapidIO总线通讯协议仿真卡

板卡概述 PXIE301-208是一款基于3U PXIE总线架构的Serial RapidIO总线通讯协议仿真卡。该板卡采用Xilinx的高性能Kintex系列FPGA作为主处理器&#xff0c;实现各个接口之间的数据互联、处理以及实时信号处理。板卡支持4路SFP光纤接口&#xff0c;支持一个PCIe x8主机接口&…

不同SqlServer版本的Jdbc驱动下载地址

不同SqlServer版本的Jdbc驱动下载地址 1.下载地址 发行说明 - JDBC Driver for SQL Server | Microsoft Learn 版本兼容性查看 支持矩阵 - JDBC Driver for SQL Server | Microsoft Learn 建议方法查看 SQL 版本兼容性 Java 和 JDBC 规格支持 2.下载驱动 下面是2008版本对应…

写一个工具类能够让所有的建筑物体检测地面并且吸附地面

直接上代码 using UnityEditor; using UnityEngine; using System.Collections.Generic; using System.IO; using OHGame; using Unity.VisualScripting;public class OHEditorTool : Editor {[MenuItem("OHGame/Tools/行动区域点落地")]private static void GetObj…

element el-table实现可进行横向拖拽滚动

【问题】表格横向太长&#xff0c;表格横向滚动条位于最底部&#xff0c;需将页面滚动至最底部才可左右拖动表格&#xff0c;用户体验感不好 【需求】基于elment的el-table组件生成的表格&#xff0c;使其可以横向拖拽滚动 【实现】灵感来源于这篇文章【Vue】表格可拖拽滚动&am…

Linux 线程概念

文章目录 前言线程的概念线程的操作操作的原理补充与说明 前言 ① 函数的具体说明被放在补充与说明部分 ② 只说些基础概念和函数使用 线程的概念 网络回答&#xff1a;Linux 线程是指在 Linux 操作系统中创建和管理的轻量级执行单元。线程是进程的一部分&#xff0c;与进程…

flutter 安卓使用高德插件黑屏

地址 https://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project 下面介绍的方式是Native配置 sdk&#xff0c;也就是需要手动下载到本地在引入的方式 1、添加 jar 文件&#xff1a; 将下载的地图 SDK 的 jar包复制到工程&#xff08;此处截…

2702 高级打字机

因为Undo操作只能撤销Type操作&#xff0c;所以Undo x 实际上就是删除文章末尾x个字母。用一个栈即可解决&#xff08;每个字母最多进出一次&#xff09;。 这种情况下只需要设计一个合理的数据结构依次执行操作即可。 版本树&#xff1a;Undo x撤销最近的x次修改操作&#xf…

将正规文法转化为正规式

将正规文法转化为正规式有以下几个规则&#xff1a; 通过一道例题来讲解&#xff1a; ①A-->aC|bA ②C-->bD ③D-->aC|bD| (1)首先将②带入③&#xff08;不能将自身带入自身例如D-->aC|bD|,文法中带D&#xff0c;不能带入D&#xff09; DabD|bD|&#xff08;…

ARM CCA机密计算软件架构之内存加密上下文(MEC)

内存加密上下文(MEC) 内存加密上下文是与内存区域相关联的加密配置,由MMU分配。 MEC是Arm Realm Management Extension(RME)的扩展。RME系统架构要求对Realm、Secure和Root PAS进行加密。用于每个PAS的加密密钥、调整或加密上下文在该PAS内是全局的。例如,对于Realm PA…

公司创建百度百科需要哪些内容?

一个公司或是一个品牌想要让自己更有身份&#xff0c;更有知名度&#xff0c;更有含金量&#xff0c;百度百科词条是必不可少的。通过百度百科展示公司的详细信息&#xff0c;有助于增强用户对公司的信任感&#xff0c;提高企业形象。通过百度百科展示公司的发展历程、领导团队…

AI-ChatGPTCopilot

ChatGPT chatGPT免费网站列表&#xff1a;GitHub - LiLittleCat/awesome-free-chatgpt: &#x1f193;免费的 ChatGPT 镜像网站列表&#xff0c;持续更新。List of free ChatGPT mirror sites, continuously updated. Copilot 智能生成代码工具 安装步骤 - 登录 github&am…

NXP实战笔记(三):S32K3xx基于RTD-SDK在S32DS上配置WDT配置

目录 1、WDT概述 2、SWT配置 2.1、超时时间&#xff0c;复位方式的配置 2.2、中断形式 1、WDT概述 SWT 编程模型只允许 32 位&#xff08;字&#xff09;访问。 以下任何尝试访问都是无效的: •非32位访问 •写入只读寄存器 •启用SWT时&#xff0c;将不正确的值写入SR…

uniapp:实现手机端APP登录强制更新,从本地服务器下载新的apk更新,并使用WebSocket,实时强制在线用户更新

实现登录即更新&#xff0c;或实时监听更新 本文介绍的是在App打开启动的时候调用更新&#xff0c;点击下方链接&#xff0c;查看使用WebSocket实现实时通知在线用户更新。 uniapp&#xff1a;全局消息是推送&#xff0c;实现app在线更新&#xff0c;WebSocket&#xff0c;ap…

java 纯代码导出pdf合并单元格

java 纯代码导出pdf合并单元格 接上篇博客 java导出pdf&#xff08;纯代码实现&#xff09; 后有一部分猿友叫我提供一下源码&#xff0c;实际上我的源码已经贴在帖子上了&#xff0c;都是同样的步骤&#xff0c;只是加多一点设置就可以了。今天我再次上传一下相对情况比较完整…

开源预约挂号平台 - 从0到上线

文章目录 开源预约挂号平台 - 从0到上线演示地址源码地址可以学到的技术前端技术后端技术部署上线开发工具其他技术业务功能 项目讲解前端创建项目 - 安装PNPM - 使用VSCODE - 安装插件首页顶部与底部 - 封装组建 - 使用scss左右布局中间内容部分路由 - vue-routerBANNER- 走马…