基于vue+Element Table 表格的封装

news2024/9/25 13:18:38

项目场景:

项目场景:需要频繁使用列表进行呈现数据,不可能每次都写一个表格,可以将表格封装为一个组件,在需要使用时可以直接调用。


效果展示:

在这里插入图片描述


项目结构:

在这里插入图片描述

具体实现:

Table.vue

<!-- 

  component:列表
  time:2022/11/15

  UserData:列数据
  tableConfig:表格的列配置,[UserId,key,label,width]
  getTableHeaderStyle:表格CSS类名

  表格数据:
  tableConfig:[
    {
      label:'姓名',
      width:150,
      key:'UserName'
    }
  ]
  UserData:[
    {
      "UserId":"1",
      "UserName":"杠铁侠",
      "UserNameValue":'1',
      "UserGender":"男",
      "UserAge":"31",
      "UserItem":"斯塔克工业",
      "UserItemValue":"1",
      "UserPostion":"Java工程师",
      "UserPostionValue":"1",
      "UserPhone": "15987462455",
      "UserEmail": "154893@163.com",
      "UserEntryTime":"2020-8-27",
      "Useraddress":"上海市普陀区金沙江路 1518 弄"
    },
  ]

-->
<template>
  <div class="UserTable">
    <el-table
      :data="UserData"
      style="width: 100%"
      :header-cell-style="getTableHeaderStyle"
    >
      <template slot="empty">
        <el-empty :image-size="100" description='暂无数据'></el-empty>
      </template>
      <el-table-column
        v-for="column in tableConfig"
        :key="column.UserId"
        :prop=column.key
        :label=column.label
        :width=column.width>
      </el-table-column>
      <el-table-column
        fixed="right"
        label="操作"
        width="100">
        <template slot-scope="scope">
          <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
          <el-button type="text" size="small">编辑</el-button>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
  data(){
    return{
      Userdata:[],
      tableconfig:[],
    }
  },
  props:{
    tableConfig:{
      default(){
        return [];
      }
    },
    UserData:{
      default(){
        return [];
      }
    },
  },
  methods: {
    getTableHeaderStyle(){
      return "background:#eee"
    },
    handleClick(row) {
      console.log(row);
    },
  },
}
</script>

<style>
.el-table{
  padding: 0px 10px 0px 0px;
}
.el-table__body-wrapper{
  padding-bottom: 10px;
}
</style>

UserManagement.vue

<template>
	<!-- 只需要传入数据及配置 -->
	<Table :UserData="Userdata" :tableConfig="tableconfig"></Table>
</template>

<script>
import UserData from '@/data/User'
import Table from '@/views/components/Table.vue'
export default {
  props:{UserData},
  components:{
    Table
  },
  data(){
    Userdata:[],
    tableconfig:[],
  }
  methods(){
  	Tableconfig(){  //列表配置
      this.tableconfig = [
        { //用户姓名
          label:'姓名',
          width:140,
          key:'UserName',
        },
        { //用户性别
          label:'性别',
          width:140,
          key:'UserGender',
        },
        { //用户年龄
          label:'年龄',
          width:140,
          key:'UserAge',
        },
        { //用户团队
          label:'团队',
          width:180,
          key:'UserItem',
        },
        { //用户职位
          label:'职位',
          width:200,
          key:'UserPostion',
        },
        { //用户电话
          label:'电话',
          width:200,
          key:'UserPhone',
        },
        { //用户邮箱
          label:'邮箱',
          width:250,
          key:'UserEmail',
        },
        { //用户入职时间
          label:'入职时间',
          width:150,
          key:'UserEntryTime',
        },
        { //用户地址
          label:'地址',
          width:300,
          key:'Useraddress',
        },
      ]
    },
	},
  mounted(){
    this.Userdata = UserData
    this.Tableconfig()
  },
}
</script>

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

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

相关文章

总结linux防火墙firewall端口开通步骤

之前开通过服务器端口&#xff0c;在这里也记录和分享一下。 Step1:检查白名单&#xff1a; sudo firewall-cmd --list-port step2:添加8080端口到白名单 [user zhangsan ~]$ sudo firewall-cmd --zonepublic --add-port8080/tcp --permanent Success Step3&#xff1a;r…

UR5机器人示教器使用——可视化控制部分(非编程)

感谢董青云师兄教我使用示教器 1.UR5机器人示教器 问师兄 3楼 UR-robotic 的控制 示教器相关内容&#xff08;UR5机器人的控制&#xff0c;有UR机器人的仿真环境&#xff0c;需要在虚拟器上运行&#xff09; 1.示教器上的控制有正逆控制&#xff1a;逆向运动学通常用于计算机…

同态加密的类型,同态加密示例

目录 什么是同态加密 同态加密的类型 同态加密示例 什么是同态加密 同态加密&#xff08;Homomorphic Encryption&#xff09;是指将原始数据经过同态加密后&#xff0c;对得到的密文进行特定的运算&#xff0c;然后将计算结果再进行同态解密后得到的明文等价于原始明文数据…

DJI AIR 2S

一、注意事项 注意&#xff1a; 1、侧飞时需要注意&#xff0c;没有侧向避障 2、返航高度设置&#xff0c;应高于飞行区域高楼高度&#xff08;如269m&#xff09; 3、遥控与飞机之间不能有建筑物遮挡&#xff0c;如果出现信号弱&#xff08;上升高度会改善信息&#xff09; 4、…

doris on k8s 的安装部署

官方文档 1. 按照官网提供地址下载部署文件 2. 修改内核配置 sysctl -w vm.max_map_count20000003. 根据服务器环境&#xff0c;修改doris_be.yml文件。 # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the…

深度学习编译器对比:The Deep Learning Compiler A Comprehensive Survey

参考&#xff1a;The Deep Learning Compiler: A Comprehensive Survey 记录几种深度学习编译器的功能和性能的对比&#xff1b; TVM在CPU和GPU的表现最好&#xff1b; MobileNet:TVM在conv、linear、expand表现最好&#xff1b;XLA在dewise的表现最好&#xff1b;

赛效:如何在线做图表

1&#xff1a;打开并登录图表秀&#xff0c;点击“我的模板”菜单里的“新建图表”。 2&#xff1a;根据自己的需要&#xff0c;在右侧的模板里选择一个。图表编辑区域里&#xff0c;会自动出现刚才点击的图表。 3&#xff1a;我们可以直接在右侧区域里编辑图标属性&#xff0c…

用户实操 | GBase 8a MPP Cluster慢SQL分析排查和优化方法

本期供稿 | 中国农业银行研发中心 蔡鹍鹏 01 排查和优化方法 SQL任务历史性能对比分析&#xff1a; 通过开启GBase 8a的audit_log审计日志&#xff0c;可以连续收集周期性任务的执行时间&#xff0c;通过对比相同SQL任务历史执行时长可以判定相同任务SQL长周期内的执行耗时趋…

【Java】如何在 Java 中连接字符串

本文仅供学习参考&#xff01; 字符串连接可以定义为将两个或多个字符串连接在一起以形成新字符串的过程。大多数编程语言至少提供一种连接字符串的方法。Java 为您提供了多种选择&#xff0c;包括&#xff1a; ****运算符**String.concat()**方法StringBuilder类StringBuffer…

LeetCode·每日一题·1186. 删除一次得到子数组最大和·动态规划

作者&#xff1a;小迅 链接&#xff1a;https://leetcode.cn/problems/maximum-subarray-sum-with-one-deletion/solutions/2321919/dong-tai-gui-hua-zhu-shi-chao-ji-xiang-x-cwvs/ 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 著作权归作者所有。商业转载请联系作…

XILINX 7系列FPGA Dedicated Configuration Bank功能详解

&#x1f3e1;《Xilinx FPGA开发指南》 目录 1&#xff0c;概述2&#xff0c;功能详解2.1&#xff0c;DXP_0与DXN_02.2&#xff0c;VCCBATT_02.3&#xff0c;INIT_B_02.4&#xff0c;M0_0&#xff0c;M1_0&#xff0c;M2_02.5&#xff0c;TDI,TDO,TMS,TCK2.6&#xff0c; VCCAD…

【Unity开发小技巧】UnityWebGL打包本地浏览器运行查看

目录 一.前言&#xff1a; 二.WebGL打包 三.配置web.config&#xff08;重要&#xff09; 四.部署IIS 五.测试 一.前言&#xff1a; 正常打包WebGL后在浏览器直接运行会报以下这个错&#xff1a; It seems your browser does not support running Unity WebGL content fr…

【效率工具】Windows 10 终端自动补全、智能提示

1. 安装PSReadLine 2.1.0 Install-Module PSReadLine -RequiredVersion 2.1.02. 检查是否存在配置文件 Test-path $profile创建配置文件&#xff08;不存在的话&#xff09; New-item –type file –force $profile3. 编辑配置文件 notepad $profile4. 运行该指令后退出终端…

rancher-import-k8s集群

一、 二、 三、 四、 到k8s 节点服务器上执行&#xff1a; 其实在&#xff1a;https://192.168.31.105:8443/v3/import/fgmt2r88wn4xvkm9n88gnshhhb8l976n6rpdvgz79r6rsfhlljnsxn_c-m-kq6c2fvn.yaml 里面下载了镜像 我们可以先下载镜像&#xff1a; docker pull rancher/ranc…

CSDN-AI小组2023-半年-研发总结

目录 1.丐版「大模型」&#xff0c;Proof of concept2. LLM和AIGC的各种综述3. 基于Embedding的应用&#xff0c;问答&#xff0c;AI编程4. 评论区的AI助手5. 结合AIGC的各种数据自动计算6. 个性化推荐的系统重构7. 基于AIGC的个性化博客创作鼓励8. 博客质量分V5: 可解释性计算…

java基础之super

当父类拥有一个带参的构造方法时&#xff0c;子类要有一个带有相同类型参数的构造方法&#xff0c;并且第一行使用super&#xff08;参数&#xff09;来接受&#xff0c;否则会报错 上图是一个类 Two&#xff0c;拥有一个带String类型参数的构造方法。 上图是一个类One&#x…

Java数字图像处理教程

地址 Java DIP - GrayScale转换为了将彩色图像转换为灰度图像&#xff0c;您需要使用File和ImageIO对象读取图像的像素或数据&#xff0c;并将图像存储在BufferedImage对象中。其语法如下&#xff1a; File input new File("digital_image_processing.jpg"); Buffe…

PHP --- 登录界面构建与mysql交互

登录界面构建与mysql交互 环境准备 win2003server phpstudy2016 vscode &#xff08;1&#xff09;login.html 利用input表单就可构建简单登录界面<fieldset>标签&#xff1a;框住标签内容<legend>标签&#xff1a;为filedset标签添加标题<label>标签&am…

UE5.1.1 C++从0开始(15.作业4个人作业分享)

教程链接&#xff1a;https://www.bilibili.com/video/BV1nU4y1X7iQ 好吧这个作业应该是之前写的&#xff0c;但是我发现我没写&#xff0c;后面我又回去自己写了一遍再看代码&#xff0c;感觉上大差不差&#xff0c;各位可以看着我的和老师的还有自己的对比下。 SBTService_…

display:flex的用法

flex: 元素以弹性布局方式显示&#xff0c;可以通过设置父元素的 display: flex 属性来实现子元素的弹性布局。常用于实现响应式布局和灵活的元素排列。 当使用 display: flex; 将元素容器设置为弹性布局时&#xff0c;子元素会自动填充容器&#xff0c;并根据容器的宽度进行调…