基于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;的算…

6.5 会话与输入事件(二)

一,键盘会话 键盘输入会话是用类型SCREEN_EVENT_KEYBOARD创建的,可以与可能生成这些类型输入事件的一个或多个设备相关联。 当输入是从键盘设备输入文本时,使用键盘会话。不使用键盘会话的SCREEN_PROPERTY_MODE 属性。 二,多点触控会话 2.1 多点触控会话 多点触控(to…

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主机接口&…

保护用户隐私:自定义Java注解实现API响应数据脱敏

在数字化时代&#xff0c;数据隐私的保护变得愈发重要。尤其是在处理用户数据时&#xff0c;我们必须确保敏感信息不会被无意中泄露。作为开发者&#xff0c;我们有责任确保在应用程序的接口&#xff08;API&#xff09;返回数据时&#xff0c;敏感字段如手机号、邮箱、身份证号…

不同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;此处截…

基于变态模态分解+bp-rf的轴承故障分类,基于变态模态分解的+BP神经网络-随机森林的轴承故障分类

目录 背影 摘要 随机森林的基本定义 随机森林实现的步骤 基于随机森林的机器启动识别 代码下载链接: 基于变态模态分解+bp-rf的轴承故障分类,基于变态模态分解的+BP神经网络-随机森林的轴承故障分类(代码完整,数据齐)资源-CSDN文库 https://download.csdn.net/download/ab…

LeetCode2706. Buy Two Chocolates

文章目录 一、题目二、题解 一、题目 You are given an integer array prices representing the prices of various chocolates in a store. You are also given a single integer money, which represents your initial amount of money. You must buy exactly two chocolat…

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;提高企业形象。通过百度百科展示公司的发展历程、领导团队…

FormData传送复杂数据

FormData 是一个用于创建表单数据对象的 JavaScript 类。它通常用于通过 JavaScript 发送表单数据&#xff0c;尤其是用于发送 AJAX 请求时非常有用。 使用 FormData 可以方便地构建一个以 multipart/form-data 格式提交的表单数据&#xff0c;这允许你在发送 XMLHttpRequest …