Element中的表格组件Table和分页组件Pagination

简述:在 Element UI 中,Table组件是一个功能强大的数据展示工具,用于呈现结构化的数据列表。它提供了丰富的特性,使得数据展示不仅美观而且高效。而Pagination组件是一个用于实现数据分页显示的强大工具。它允许用户在大量数据中导航,通过控制每页显示的数据数量和跳转到不同的页面,从而提高数据展示的效率和用户体验。简单记录


一. HTML

//表格
  <el-table
          @selection-change="handleSelectionChange"
          ref="singleTable"
          :data="tableData"
          :cell-style="{ 'text-align': 'center' }"
          highlight-current-row
          style="width: 100%"
          :header-cell-style="tableHeader"
          :cell-style="tableContent"
          :header-row-style="{ background: '#091e50', color: 'white' }"
          :row-style="{ background: '#091e50', color: 'white' }"
        >

          // 表格内容
          // 全选显示  
          <el-table-column type="selection" width="55"> </el-table-column>
          <el-table-column
            header-align="center"
            min-width="20%"
            label="开始时间"
            property="startTime"
          >
          </el-table-column>

  </el-table>      


//已选项数量提示和分页
  <div class="btm_choseBox">

        <div class="selected_items">
          <div class="tb_checks">
            <el-checkbox
              :indeterminate="isIndeterminate"
              v-model="checkAll"
              @change="handleCheckAllChange"
            >
              已选 {{ multipleSelection.length }} 项
            </el-checkbox>
          </div>
          <el-button @click="deletemultipleSelection"> 删除选中项 </el-button>
        </div>

        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :page-sizes="[10, 20, 30, 40, 50]"
          layout="total, sizes, prev, pager, next, jumper"
          :current-page="currentPage"
          :page-size="params.pageSize"
          :total="total"
        >
        </el-pagination>

  </div>




<!-- 表格组件 -->
  @selection-change="handleSelectionChange"  // 选中项变化时的处理方法
  ref="singleTable"                          // 表格的引用名称
  :data="tableData"                          // 表格数据
  :cell-style="{ 'text-align': 'center' }"   // 单元格样式,文本居中
  highlight-current-row                      // 高亮当前行
  style="width: 100%"                        // 表格宽度
  :header-cell-style="tableHeader"           // 表头单元格样式
  :cell-style="tableContent"                 // 表格内容样式
  // 表头行样式,背景色和文字颜色
  :header-row-style="{ background: '#091e50', color: 'white' }"  
  // 表格行样式,背景色和文字颜色  
  :row-style="{ background: '#091e50', color: 'white' }"  


<!-- 全选显示列 -->
    type="selection"


<!-- 表格内容列 -->
    header-align="center"      // 表头文本居中
    min-width="20%"            // 最小列宽度
    label="开始时间"            // 表头标签
    property="startTime"       // 对应数据属性


<!-- 已选项数量提示和分页 -->
    :indeterminate="isIndeterminate"  // 部分选中状态
    v-model="checkAll"                // 双向绑定全选状态
    @change="handleCheckAllChange"    // 全选状态变化时的处理方法


<!-- 分页组件 -->
    @size-change="handleSizeChange"                     // 页面大小变化时的处理方法
    @current-change="handleCurrentChange"               // 当前页变化时的处理方法
    :page-sizes="[10, 20, 30, 40, 50]"                  // 可选择的每页显示数量
    layout="total, sizes, prev, pager, next, jumper"    // 分页组件布局
    :current-page="currentPage"  // 当前页
    :page-size="params.pageSize"                        // 每页显示数量
    :total="total"                                      // 总数据量

二. 参数属性

// 表格参数
      tableData: [],
      tableLoading: false,


// 已选参数
      multipleSelection: [],
      checkAll: false, // 全选框状态
      isIndeterminate: false, // 全选框的中间状态

     
// 分页参数
      params: { pageNum: 1, pageSize: 10 },
      currentPage: 1,
      total: 0,

三. 函数事件

// 表头样式
tableHeader({ row, column, rowIndex, columnIndex }) {
      if (rowIndex === 0) {
        //第一行
        return `font-weight: bolder;
                background-color:#091e50;
                color:white;
                font-size:20px;`;
      }
},
// 表格内容样式
tableContent({ row, column, rowIndex, columnIndex }) {
      // if (columnIndex === 1) {
      //   return "color:blue;text-align:center;background-color:#72a4dd;";
      // }
      return `
              color: gray;
              text-align: center; 
              font-size:14px;
              font-weight:600;
              font-family:"宋体";
              `;
},


// 表格的全选事件
handleSelectionChange(val) {
      this.multipleSelection = val;
      this.checkAll = val.length === this.tableData.length;
      this.isIndeterminate =
        val.length > 0 && val.length < this.tableData.length;
},
// 删除选中项的方法
deletemultipleSelection() {
  // 获取选中的项的ID数组
  const ArrUuid = this.multipleSelection.map((cur) => {
    return cur.id; // 返回每个选中项的ID
  });
  
  // 显示确认对话框,确认是否永久删除选中项
  this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
    confirmButtonText: "确定", // 确认按钮的文本
    cancelButtonText: "取消", // 取消按钮的文本
    type: "warning", // 提示类型,警告
  })
  .then(() => {
    // 用户确认删除后的操作

    // 开启加载状态
    this.tableLoading = true;
    
    // 调用删除操作的接口方法,传入选中项的ID数组
    delbypassControl(ArrUuid)
      .then((res) => {
        // 接口请求成功后的处理
        console.log(res);
        if (res.code === 200) {
          // 删除成功后显示提示信息
          this.$message({
            message: "删除成功", // 提示信息内容
            type: "success", // 提示类型,成功
            center: true, // 提示信息文字居中
            offset: 400, // 提示信息的垂直位置偏移量
          });
          // 调用刷新数据的方法
          this.callbypassControl();
        }
      })
      .catch(() => {
        // 接口请求失败后的处理
        this.tableLoading = false; // 关闭加载状态
      })
      .finally(() => {
        // 接口请求完成后的处理
        this.tableLoading = false; // 关闭加载状态
      });

  })
  .catch(() => {
    // 用户取消删除操作后的处理

    // 显示取消删除的提示信息
    this.$message({
      type: "info", // 提示类型,信息
      message: "已取消删除", // 提示信息内容
      offset: 400, // 提示信息的垂直位置偏移量
    });

  });
}


// 分页函数
handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
      this.params.pageSize = val;
      // this.callbypassControl();
},
handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
      this.params.pageNum = val;
      // this.callbypassControl();
},

 四. 元素样式

// 父级
position: relative;
padding-bottom: 50px;

// 元素
.btm_choseBox {
  width: 100%;
  height: 50px;
  position: absolute;
  left: 20px;
  bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
}
::v-deep .selected_items {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  .el-checkbox__label {
    margin: 0px 20px 0px 10px;
  }
  label {
    color: white;
  }
  button {
    background-color: rgba(192, 192, 192, 0.479);
    border: none;
    color: white;
  }
}
.el-pagination {
  height: 100%;
  box-sizing: border-box;
  padding-right: 20px;
  text-align: right;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

五. Pagination分页补充,分页样式

// 输入框中的文字颜色
::v-deep input {
  color: white !important;
}
// loading背景色
::v-deep .el-loading-mask {
  background-color: rgba(0, 0, 0, 0.479);
}


// el-pagination分页的背景和文字颜色
::v-deep .el-pagination {
  // 两边文字
  .el-pagination__total {
    color: white !important;
  }
  .el-pagination__jump {
    color: white !important;
  }
  // 两个输入框
  .el-input__inner {
    background-color: #092546;
    border: 1px solid rgba(192, 192, 192, 0.479);
    color: white !important;
  }
  // 左右按键和里面的图标
  button {
    background-color: #092546;
    .el-icon::before {
      color: white;
    }
  }
  // 分页数字
  ul {
    color: white;
    .el-icon::before {
      color: white !important;
    }
  }
  // 分页数字的背景色
  ul > li {
    background-color: #092546;
  }
}
::v-deep .el-loading-mask {
  background-color: rgba(0, 0, 0, 0.479);
}

 六. Table和Pagination,更多操作

Element官网icon-default.png?t=N7T8https://element.eleme.cn/#/zh-CN/component/table

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【OJ】运行时错误(Runtime Error)导致递归爆栈问题

在进行OJ赛时&#xff0c; 题目&#xff1a;给你一个整数n&#xff0c;问最多能将其分解为多少质数的和。在第一行输出最多的质数数量k,下一行输出k个整数&#xff0c;为这些质数。 出现运行时错误 代码如下&#xff1a; def main():# code heren int(eval(input()))list …

RabbitMQ中常用的三种交换机【Fanout、Direct、Topic】

目录 1、引入 2、Fanout交换机 案例&#xff1a;利用SpringAMQP演示Fanout交换机的使用 3、Direct交换机 案例&#xff1a;利用SpringAMQP演示Direct交换机的使用 4、Topic交换机 案例&#xff1a;利用SpringAMQP演示Topic交换机的使用 1、引入 真实的生产环境都会经过e…

Apache Seata分布式事务原理解析探秘

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 前言 fescar发布已有时日&#xff0c;分布式事务一直是业界备受关注的领域&#xff0c;fesca…

【Mysql】记录MySQL中常见的错误代码及可能原因

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、常见的问题2.1 连接和认证相关2.2 权限相关2.3 表和数据操作相关2.4 资源限制和…

我使用HarmonyOs Next开发了b站的首页

1.实现效果展示&#xff1a; 2.图标准备 我使用的是iconfont图标&#xff0c;下面为项目中所使用到的图标 3. 代码 &#xff08;1&#xff09;Index.ets&#xff1a; import {InfoTop} from ../component/InfoTop import {InfoCenter} from ../component/InfoCenter import…

文章解读与仿真程序复现思路——太阳能学报EI\CSCD\北大核心《计及电-热-氢负荷与动态重构的主动配电网优化调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Linux 搭建 Kafka 环境 - 详细教程

目录 一. Kafka介绍 1. 应用场景 2. 版本对比 二. Kafka安装 1. 前置环境 &#xff08;1&#xff09;安装JDK 2. 软件安装 &#xff08;3&#xff09;环境变量配置 &#xff08;3&#xff09;服务启动 三. Console测试 基础命令 &#xff08;1&#xff09;列出Kafk…

PLC电源模块

PM电源模块 为CPU信号模块及 其他的扩展设备、其他用电设备&#xff08;如传感器&#xff09;提供工作供电 接线和开关 状态显示 灯的闪烁示意看手册 PS电源模块 为CPU信号模块及其他的扩展设备提供工作供电。PS(System Power Supply) 外形与PM电源模块类似&#xff0c;状…

PLC【搭建服务端】

PLC搭建服务端 文章目录 PLC搭建服务端前言一、搭建PLC服务器二、打开ModSean32获取数据总结 前言 使用博图V16编写PLC搭建服务器&#xff0c;使用 ModSean32 读取其中数据 一、搭建PLC服务器 打开博图V16点击项目进行新建&#xff0c;编辑好项目名称、及项目路径&#xff0c…

Netty 启动源码阅读

文章目录 1. 入门2. Netty 代码实例3. Netty bind3.1 initAndRegister3.1.1 newChannel, 创建 NioServerSocketChannel3.1.2 init(channel); 初始化 NioServerSocketChannel3.1.3 register 注册channel 3.2 doBind0 绑定端口3.3 ServerBootstrapAcceptor 1. 入门 主从Reactor模…

MATLAB制作一个简单的函数绘制APP

制作一个函数绘制APP&#xff0c;输入函数以及左右端点&#xff0c;绘制出函数图像。 编写回调函数&#xff1a; 结果&#xff1a;

HTML 【实用教程】(2024最新版)

核心思想 —— 语义化 【面试题】如何理解 HTML 语义化 ?仅通过标签便能判断内容的类型&#xff0c;特别是区分标题、段落、图片和表格 增加代码可读性&#xff0c;让人更容易读懂对SEO更加友好&#xff0c;让搜索引擎更容易读懂 html 文件的基本结构 html 文件的文件后缀为 …

移动硬盘“需格式化”预警:专业数据恢复指南

移动硬盘“需格式化”危机&#xff1a;了解背后的真相 在日常的数字生活中&#xff0c;移动硬盘作为我们存储重要数据的“保险箱”&#xff0c;其稳定性与安全性直接关系到我们信息的完整与便捷访问。然而&#xff0c;当您尝试打开移动硬盘时&#xff0c;屏幕上赫然出现的“需…

科技赋能智慧应急:“数字孪生+无人机”在防汛救灾中的应用

近期&#xff0c;全国多地暴雨持续&#xff0c;“麻辣王子工厂停工”“水上派出所成水上的派出所了”等相关词条冲上热搜&#xff0c;让人们看到了全国各地城市内涝、洪涝带来的严重灾情。暴雨带来的影响可见一斑&#xff0c;潜在的洪水、泥石流、山体滑坡等地质灾害更应提高警…

aardio —— 今日减bug

打字就减bug 鼠标双击也减bug 看看有多少bug够你减的 使用方法&#xff1a; 1、将资源附件解压缩&#xff0c;里面的文件夹&#xff0c;放到aardio\plugin\plugins 目录 2、aardio 启动插件 → 插件设置 → 选中“今日减bug” → 保存。 3、重启 aardio&#xff0c;等aa…

BUUCTF[PWN][fastbin attack]

fastbin_attack例题 题目&#xff1a;[BUUCTF在线评测 (buuoj.cn)](https://buuoj.cn/challenges#[ZJCTF 2019]EasyHeap) 整体思路&#xff1a;利用编辑时edit_heap函数的栈溢出漏洞&#xff0c;覆盖heaparray中的栈指针指向free的got表&#xff0c;将其改为system的plt表&…

make工具

1、什么是make&#xff1f; make是个命令&#xff0c;是个可执行程序&#xff0c;是个工具&#xff0c;用来解析Makefile文件的命令&#xff0c;这个命令存放在/usr/bin/目录下 -rwxr-xr-x 1 root root 250K 2月 15 2022 make -rwxr-xr-x 1 root root 4.8K 2月 15 2022 ma…

Linux_实现简易日志系统

目录 1、认识可变参数 2、解析可变参数 3、打印可变参数 3.1 va_list 3.2 va_start 3.3 va_arg 3.4 va_end 3.5 小结 4、实现日志 4.1 日志左半部分 4.2 日志右半部分 4.3 日志的存档归类 结语 前言&#xff1a; 在Linux下实现一个日志系统&#xff0c;该日…

Open3D 删除点云中重叠的点(方法二)

目录 一、概述 1.1原理 1.2应用 二、代码实现 三、实现效果 3.1原始点云 3.2处理后点云 3.3数据对比 一、概述 在点云处理中&#xff0c;重叠点&#xff08;即重复点&#xff09;可能会对数据分析和处理的结果产生负面影响。因此&#xff0c;删除重叠点是点云预处理中常…

一招解决找不到d3dcompiler43.dll,无法继续执行代码问题

当您的电脑遇到d3dcompiler43.dll缺失问题时&#xff0c;首先需要了解d3dcompiler43.dll文件及其可能导致问题的原因&#xff0c;之后便可以选择合适的解决方案。在此&#xff0c;我们将会为您提供寻找d3dcompiler43.dll文件的多种处理方法。 一、d3dcompiler43.dll文件分析 d…