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

news/2024/4/24 6:21:14

vue 文件演示模板

<template><el-button icon="el-icon-refresh" size="large" @click="resetFunction">重置</el-button><el-tableheight="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-columnlabel="测试列":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.tangninghui.cn.cn/item-6.htm

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

相关文章

9.14号作业

仿照vector手动实现自己的myVector&#xff0c;最主要实现二倍扩容功能 有些功能&#xff0c;不会 #include <iostream>using namespace std; //创建vector类 class Vector { private:int *data;int size;int capacity; public://无参构造Vector(){}//拷贝构造Vector(c…

【陕西理工大学-数学软件实训】数学实验报告(8)(数值微积分与方程数值求解)

目录 一、实验目的 二、实验要求 三、实验内容与结果 四、实验心得 一、实验目的 1. 掌握求数值导数和数值积分的方法。 2. 掌握代数方程数值求解的方法。 3. 掌握常微分方程数值求解的方法。 二、实验要求 1. 根据实验内容&#xff0c;编写相应的MATLAB程序&#xff0c…

前端测试——端对端测试框架 Playwright 总结

在进行前端测试前&#xff0c;我们需要明确我们需要怎样的前端测试。 前端测试类型总结 前端应用测试分为几种常见类型: 端到端&#xff08;e2e&#xff09; &#xff1a;一个辅助机器人&#xff0c;表现得像一个用户&#xff0c;在应用程序周围点击&#xff0c;并验证其功能…

ChatGPT笔记

我最常用的GPT软件: 1.移动端APP: AI EDU, 一直免费的一个应用,挺不错的AI EDUhttps://ai.aigcfun.com/ 百度的文心一言, 个人感觉一般般&#xff0c;可以下载app版本文心一言https://yiyan.baidu.com/ Nova (Play Store下载 需要魔法 且不免费) 2.电脑PC端: 百度的文心一言, …