Vue el-table 重置按钮设计模板

news2024/10/11 12:26:33

vue 文件演示模板

<template>

<el-button icon="el-icon-refresh" size="large" @click="resetFunction">重置</el-button>

<el-table
      height="450"
      v-loading="loading"
      :data="dataList"
      :row-key="getRowKey"
      :data="dataList"
      ref="multipleTable"
      @select="handleCheckBox"
      @select-all="handleSelectAll"
    >
      <el-table-column type="selection" width="55"
                       :reserve-selection="true"
                       align="center" />
<el-table-column
        label="测试列"
        :show-overflow-tooltip="true"
        prop="test"
        width="200"
        sortable="custom"
        :sort-orders="['descending', 'ascending']"
        align="center"
      >
      </el-table-column>
    </el-table>
</template>


<script>
import {
	datalist,
} from "@/api/test";

export default {
data() {
    return {
      // 总条数
      total: 0,
      // 当前页面的行数据
      dataList: [],
      // 弹出层标题
      title: "",
        // 开始自定义变量 !!!
        multipleSelection: [],
    };
  },
methods: {
    getRowKey (row) {     // 获取勾选的那一行数据的 id 可以执行导出订单功能
      return row.test_id;  // 可以指定任何具有唯一性的字段 xxx_id
    },
        //该方法是单选时的方法
    handleCheckBox(rows, row) {
      if (this.multipleSelection.find((item) => item == row.test_id)) {
        //下面这个filter方法就是删除的方法
        this.multipleSelection = this.multipleSelection.filter(
          (item) => item != row.test_id     // 可以指定任何具有唯一性的字段 xxx_id
        );
      } else {
        this.multipleSelection.push(row.test_id);
      }
    },
    //该方法是当页全选的方法
    handleSelectAll(rows) {
      if (rows.length) {
        rows.forEach((row) => {
          if (!this.multipleSelection.find((item) => item == row.test_id)) {
            this.multipleSelection.push(row.test_id);
          }
        });
      } else {
        this.dataList.forEach((row) => {
          this.multipleSelection = this.multipleSelection.filter(
            (item) => item != row.test_id
          );
        });
      }
    },
    /** 查询列表 */
    getList() {
      this.loading = true;
      /** datalist 是一个 api 路由 获取后端数据  addDateRange 
      不用管,只是若依框架的一个添加额外参数的方法 */
      datalist(this.addDateRange(this.queryParams, this.dateRange)).then(
        (response) => {
          this.dataList= response.rows;
          this.loading = false;
          // 分页后回显功能
          this.$nextTick(()=>{
            this.dataList.forEach((item,index)=>{
              if(this.multipleSelection.findIndex(v=>v == item.test_id) >= 0){
                this.$refs.multipleTable.toggleRowSelection( /** 这里一行都不用改 */
                  this.$refs.multipleTable.data[index],   /** 这里一行都不用改 */
                  true                   /** 这里一行都不用改 */
                );
              }
            })
          }
        // 分页后回显功能
      );
    })
    }, 
    /** 搜索按钮操作 */
    handleQuery() {
      this.getList()
    },
        // 清空选择的值
    clearSelect() {
      this.$refs.multipleTable.clearSelection()
    },
    resetFunction(){
    
    	Object.assign(this.$data, this.$options.data());
    	//清空el-table的复选框选择
      	this.clearSelect()
      	this.handleQuery()
    }
}
}
<script>

  1. 重点就是这句:(意思是将初始状态的data复制到当前状态的data,实现重置效果)
  Object.assign(this.$data, this.$options.data());
  1. 还有这一句:清除 el-table 复选框的选择显示,multipleTable 指的是 el-table 组件的 ref 属性值
this.$refs.multipleTable.clearSelection()

在这里插入图片描述

最后点击重置按钮后的效果类似如下所示:

在这里插入图片描述


参考链接

1. vue 重置按钮功能实现

2. vue之ele中的table组件(复选框的回显和重置)

3. 4-2-vue框架-第三方ui组件elementui-vue- element-ui table复选框翻页记忆与清除

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

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

相关文章

U盘插上就让格式化是坏了吗?数据怎么恢复

U盘插上就让格式化是坏了吗&#xff1f;当您遇到U盘插上后提示需要格式化的情况时&#xff0c;不要慌张。这种情况并不一定意味着U盘已经坏了。下面我们一起来了解下如何恢复里面的数据&#xff0c;并解决U盘提示格式化的问题。 U盘一插上就提示格式化是什么原因 许多人可能会有…

个人微信多账号聚合管理如何实现?

在日常工作中&#xff0c;您是否会遇到以下问题&#xff1a; 微信号多&#xff0c;需反复切换设备及账号&#xff0c;工作效率低。 无法快速响应客户消息&#xff0c;客户体验感差。 无法随时掌握员工与客户沟通情况&#xff0c;员工沟通质量难以控制&#xff0c;管理难。 员…

Spring系列文章:面向切面编程AOP

一、代理模式 1、代理模式使用场景引入 ⽣活场景1&#xff1a;⽜村的⽜⼆看上了隔壁村⼩花&#xff0c;⽜⼆不好意思直接找⼩花&#xff0c;于是⽜⼆找来了媒婆王妈妈。这 ⾥⾯就有⼀个⾮常典型的代理模式。⽜⼆不能和⼩花直接对接&#xff0c;只能找⼀个中间⼈。其中王妈妈是…

OpenCV 11(图像金字塔)

一、 图像金字塔 **图像金字塔**是图像中多尺度表达的一种&#xff0c;最主要用于图像的分割&#xff0c;是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说, 图像金字塔是同一图像不同分辨率的子图集合. 图像金字塔最初用于机器视觉和图像压缩。其通过梯次向下采…

shell知识点复习

1、shell能做什么&#xff08; Shell可以做任何事(一切取决于业务需求) &#xff09; 自动化批量系统初始化程序 自动化批量软件部署程序 应用管理程序 日志分析处理程序 自动化备份恢复程序 自动化管理程序 自动化信息采集及监控程序 配合Zabbix信息采集 自动化扩容 2、获取当…

淘宝双11数据分析与预测课程案例中(林子雨)错误点总结

问题一&#xff1a;可视化代码中男女买家各个年龄段对比散点图中数值不显示以及坐标不正确问题如下图 解决方法&#xff1a; 1修改坐标 2修改数值 修改后散点图 问题二&#xff1a;各省份的总成交量对比中地图显示不出来 有时间再写

海量小文件传输对于企业选用文件传输软件的重要意义

在当前的商业环境中&#xff0c;数据具有极其重要的作用&#xff0c;是企业竞争的核心要素。随着互联网、物联网和云计算等技术的快速发展&#xff0c;数据的类型和规模变得越来越多样。在这其中&#xff0c;海量小文件作为一种普遍而重要的数据形式&#xff0c;扮演着连接信息…

新知同享 | Mobile 开发轻松跨屏,高效构建

谷歌致力于帮助开发者 更快、更轻松地打造高质量的移动体验 一起来看 2023 Google 开发者大会上 Mobile 开发值得重点关注的成果与更新 了解如何提高平台及应用质量 提升开发效率 使多设备开发体验更流畅 实现轻松跨屏&#xff0c;高效构建 精彩大会现场一览 用户对跨屏幕体验…

在k8s中创建ConfigMap的四种方式与初识helm包管理工具

非敏感数据&#xff0c;比如应用的配置信息&#xff0c;则可以用ConfigMap 创建configmap四种方式 &#xff08;1&#xff09;通过--from-literal&#xff1a; kubectl create configmap myconfigmap --from-literalconfig1xxx --from-literalconfig2yyy 每个--from-literal…

Revit SDK 介绍:Ribbon 界面

前言 Revit 通过 API 将完整的 Ribbon 做了保留&#xff0c;同时这些菜单按钮也可以和相应的命令绑定。 内容 运行效果如下所示&#xff1a; 菜单特写&#xff1a; Ribbon Sample 整体是 API 暴露出来的一个 RibbonPanel&#xff0c;对应的接口&#xff1a; namespace Au…

dll文件反编译源代码 C#反编译 dotpeek反编译dll文件后export

目录 背景下载安装dotpeek导入dll文件export导出文件参考 背景 项目合作的时候&#xff0c;使用前人的或者其他部门dll文件直接在机台运行&#xff0c;会出现很多问题&#xff0c;逻辑&#xff0c;效率等等&#xff0c;此时我们可以选择对他们的代码进行反编译和重构&#xff…

递归算法学习——被围绕的区域,太平洋大西洋流水问题

目录 ​编辑 一&#xff0c;被围绕的区域 1.题意 2.解释 3.题目接口 4.解题思路及代码 二&#xff0c;太平洋大西洋流水问题 1.题意 2.解释 3.题目接口 4.解题思路及代码 一&#xff0c;被围绕的区域 1.题意 给你一个 m x n 的矩阵 board &#xff0c;由若干字符 X 和…

对卷积的一点具象化理解

前言 卷积的公式一般被表示为下式&#xff1a; 对新手来说完全看不懂这是干什么&#xff0c;这个问题需要结合卷积的应用场景来说。 原理 卷积比较广泛的应用是在信号与系统中&#xff0c;所以有些公式的定义会按照信息流的习惯。假设存在一串信号g(x)经过一个响应h(x)时他的响…

高云USB下载器仿真器用户手册(包括在线逻辑分析仪的使用方法)

高云 USB 仿真器用户手册 一.简介 仿真器用于高云 GOWIN 公司所生产的 FPGA&#xff0c;可用于程序下载和调试。主要特点如下&#xff1a; 1.支持宽电压1.2V - 3.6V&#xff1b; 2.速度最高可达30Mb/s&#xff0c;极速完成下载和波形调试功能&#xff1b; 3.完美支持在线逻…

Java实现Modbus读写数据

背景 由于当时项目周期赶&#xff0c;引入了一个PLC4X组件&#xff0c;上手快。接下来就是使用这个组件遇到的一些问题&#xff1a; 关闭连接NioEventLoop没有释放导致oom设计思想是一个设备一个连接&#xff0c;而不是一个网关一个连接连接断开后客户端无从感知 前两个问题解…

什么牌子的电容笔比较好?开学值得买触控笔推荐

大部分学生都没有固定的收入&#xff0c;所以他们选择的商品都是偏向性价比高的。随着iPad的不断升级&#xff0c;它的各种功能也会越来越多&#xff0c;将会慢慢地走进我们的生活和工作中。随着电子设备的不断更新和软件的完善&#xff0c;电容笔的性能也在不断提高&#xff0…

783. 二叉搜索树节点最小距离

783. 二叉搜索树节点最小距离 C代码&#xff1a;二叉树 int min; int pre;int dfs(struct TreeNode* root) {if (root NULL) {return;}dfs(root->left);if (pre ! -1) {min fmin(min, root->val - pre);}pre root->val; // 中序遍历dfs(root->right); }int mi…

【深度学习】 Python 和 NumPy 系列教程(三):Python容器:1、列表List详解(初始化、索引、切片、更新、删除、常用函数、拆包、遍历)

目录 一、前言 二、实验环境 三、Python容器&#xff08;Containers&#xff09; 0、容器介绍 1、列表&#xff08;List&#xff09; 1. 初始化 a. 创建空列表 b. 使用现有元素初始化列表 c. 使用列表生成式 d. 复制列表 2. 索引和切片 a. 索引 b. 负数索引 c. 切…

MySQL触发器详解保证入土

文章目录 简介一、MySQL触发器基础触发器分类基础常用关键字1. 定义触发器2. 创建和删除触发器3. 执行时机和条件 二、MySQL触发器的使用场景1. 数据完整性约束插入触发器更新触发器删除触发器 2. 数据变更日志的记录与追踪3. 触发器与存储过程的对比与选择 三、触发器的性能和…

强大的JTAG边界扫描(5):FPGA边界扫描应用

文章目录 1. 获取芯片的BSDL文件2. 硬件连接3. 边界扫描测试4. 总结 上一篇文章&#xff0c;介绍了基于STM32F103的JTAG边界扫描应用&#xff0c;演示了TopJTAG Probe软件的应用&#xff0c;以及边界扫描的基本功能。本文介绍基于Xilinx FPGA的边界扫描应用&#xff0c;两者几乎…