vue+iview实现表格选中记忆+前端导出功能

vue中使用iview的table表格实现导出全部和导出选中 布局 <div> <Checkbox v-model="showCheckbox" @on-change="clearSelect(false)"></Checkbox> <div class='batchoperation'>批量操作</div> <div class="expo... 阅读详情
  1. 选中记忆

    <Table
          no-data-text="暂无任何数据"
          stripe
          :columns="column"
          :data="listData"
          ref="selection"
          @on-select="handleSelectRow"
          @on-select-cancel="handleCancelRow" 
          @on-select-all="handleSelectAll" 
          @on-selection-change="handleCancelAll"
        ></Table>
    
    //选中某一项
    handleSelectRow(selection,row){
      let flag = this.selectedData.some(item => item.id == row.id);
       if(!flag){
         this.selectedData.push(row);
       }
    },
    //取消选中某一项
    handleCancelRow(selection,row){
      this.selectedData.forEach((item,index) => {
         if(item.id == row.id){
           this.selectedData.splice(index,1);
         }
      })
    },
    //点击全选
    handleSelectAll(){
      let current = this.$refs.selection.getSelection();
      current.forEach(temp => {
        let flag = this.selectedData.some(item => item.id == temp.id);
        if(!flag){
          this.selectedData.push(temp);
        }
       })
    },
    //点击取消全选
    handleCancelAll(){
       let current = this.$refs.selection.getSelection();
       if(!current || current.length == 0){
          let current = this.listData;
          current.forEach(temp => {
            this.selectedData.forEach((item,index) => {
               if(item.id == temp.id){
                 this.selectedData.splice(index,1);
               }
            })
          })
       }
    },
    //查询表格数据
    getData(){
          this.axios.post('/xxxx/xxxpath', params, function(data) {
            if (data.rtnCode === '0000') {
              this.listData = list;
              // 由于渲染时间的原因,使用setTimeout规避
              setTimeout(() => {
                this.setChecked();
              }, 0);
            }else{
              this.$Message.error(data.rtnMsg);
            }
          })
    },
    //设置选中记忆
    setChecked(){
          if(this.selectedData.length <=0){
            return;
          }
          let current = this.listData;
          current.forEach(temp => {
            this.selectedData.forEach((item,index) => {
              if(item.id == temp.id){
                this.$refs.selection.$refs.tbody.objData[index]._isChecked = true;
              }
            })
          })
      }
    
  2. 导出

    exportData(){
      if(this.selectedData.length <= 0){
        this.$Message.error('请先选择需要导出的数据');
        return;
      }else{
        this.$refs.selection.exportCsv({
          filename: `${new Date()}导出数据`,
          //columns: this.column.filter((col, index) => index < 4),  //可设置导出列
          data: this.selectedData
        });
       }
    }
    
前端框架入门必备100文章:vue、Element、vuetify、iview等 小编根据C4认证的成长路径整理了前端框架的相关资源,从零基础带你进入vue前端框架的世界,除了vue前端框架,包含Element、vuetify、vue-strap和iview等。让小伙伴们从无到有,从浅入深的系统地学习vue前端框架。 欢迎大家扫描文末二维码,一起学习~ 一、vue前端框架(29篇) 【Vue框架快速入门】 【前端笔记-Vue框架的基本认识】 【vue框架简介】 【2020年最火vue的UI框架】 【目前最完整的前端框架 Vue.js 全面介绍】 【排名前10的vue. 阅读详情

相关推荐

vue iview 前端表格分页

// 获取Table数据 handleListTable() { // 保存取到的所有数据 // 初始化显示,小于每页显示条数,全显,大于每页显示条数,取前每页条数显示 if (this.tableDataAll.length < this.pageSize) {...

你如今的气质里,藏着你走过的路,经历过的事,读过的书,和爱过的人。 856

vue中实现分页数据多选

当点击上一下,下一页的时,调用获取表格数据的接口,在这个接口中调用selectedData事件,该事件处理为:当checkedList不为空,表格数据中去匹配checkedList里面的值,如果能匹配到,设置该项的_checked为true;5.当选中其中一项的时候,先判断checkedList是否含有改数据,用includes来判断,当无数据的时候,push进checkedList,反之不进行操作。注:splice() 方法向/从数组添加/删除项目,并返回删除的项目,该方法会改变原始数组。

aaa123aaasqw的博客 1668

基于iview组件的Table表格

1.安装iview插件 在Vue-cli项目中使用iview插件,需要先安装。 $ cnpminstalliview--save 2.配置组件 在项目main.js下添加配置 import iView from 'iview'; // 导入组件库 import 'iview/dist/styles/iview.css'; // 导入样式 Vue.use...

吴小花的博客 6793

关于view换页导致选择项丢失问题

在ivew组件中,选择某些数据换页然后再切换回去导致所选数据不存在的解决方法。 主要思路: 1、单选时使用ivew table组件中的row属性,将当前row数据存储到数组中(例:数组portTempList) onSelectChange(selection, row) { this.portTempList.push(row); }, 2、全选时,如果本页数据都未被选择portTempList为空,那么直接将数据存储到portTempList中,如果已经存在已选数据,...

qq_51486722的博客 626

2021-3-20组会 无监督训练下的音频分离 (音源分离) Unsupervised Audio Source Separation Using Generative Priors

0. 说明 一片具体论文的综述

ruclion的专栏 1349

Genesis物理引擎实战指南:轻量级确定性刚体仿真核心

刚体物理仿真作为机器人控制、嵌入式运动学验证和确定性游戏开发的基础技术,其核心在于数值稳定性、跨平台可复现性与约束求解精度。本文围绕线性互补问题(LCP)求解、半隐式欧拉积分和零依赖C++实现三大关键技术展开,解析如何在无GUI、低算力环境下构建可单步调试、帧级可控的确定性仿真系统。重点覆盖碰撞检测数学建模、关节局部坐标系绑定、质量-惯性张量一致性校验等工程落地关键点,适用于STM32、树莓派及教育实验场景。内容深度结合Genesis Physics Engine的源码实践,直击‘穿模’‘NaN’‘关节发软

ciya3282的博客 1589

vue+iview table跨页多选遇到的问题

#iview table跨页多选遇到的坑 iview table和page组件组合使用时,跨页多选时,会记不住选过的选项,比如说,在第1页选择了2项,然后点击第2页,再回到第一页时选中的项没有显示出来。 解决方法: 核心就是切换时重新给选中的项勾上, 核心代码: // 跨页重新选中 setChecked() { let objData = this.$refs["table"].objData; for (let index in objData) { if (this.courseI

weixin_47102346的博客 2310

Qwen 三代进化全景对比:从 Qwen2.5 到 Qwen3 再到 Qwen3.5

本文对比了阿里巴巴通义千问三代大模型(Qwen2.5、Qwen3、Qwen3.5)的技术演进。18个月内,模型在架构、训练数据和能力上实现显著突破:从纯稠密结构(Qwen2.5)发展为混合注意力架构(Qwen3.5),支持语言从29种扩展至201种,并实现原生多模态融合。关键进展包括引入MoE架构、Gated DeltaNet混合注意力机制(计算效率提升10倍)、以及从独立模态到早期视觉语言联合训练的转变。模型阵容从7个通用尺寸发展为8+个混合架构,最大参数量达397B,上下文窗口扩展至256K(托管版1M

m0_47999117的博客 1万+

iview + vue table分页勾选记忆

想法: 1,已知给 data 项设置特殊 key _checked: true 可以默认选中当前项 2,用tempArr[]记录勾选的数据的id,勾选时则加入,取消时则删除。 3,渲染数据时,对比tempArr[]的id 代码: <template> <div style="width:500px;margin:0 auto"> <Table border :columns="columns" :data="datas" @on-select="onSelect"

weixin_39457424的博客 1762

Linux 配置 multipath 多路径

每天一个 DBA 小知识,助你更进一步!

LuciferLiu_DBA 3296

7.12真题华为OD机试真题 新系统 - 字符串压缩编码 (Java/Py/C/C++/Js/Go)

7.12真题华为OD机试真题 新系统 - 字符串压缩编码 (Java/Py/C/C++/Js/Go)

算法大师! 834

vue+iview翻页勾选记忆功能

<Modal v-model="win.choiceExpertWin" :mask-closable="false" width="1000" title="选择专家"> <div> <Form :label-width="0" class="searchToolForm" styl...

panlin1506913260的博客 1917

【现代人形机器人:从物理建模到大模型驱动的控制与学习】第1章 机器人建模回顾

本章建立读者进行后续控制 / 优化 / 学习工作的数学与计算基础。内容分为三大块:刚体运动学:位姿表示、坐标变换、旋转参数与李代数/李群(指数映射、twist)多关节机构的正/逆运动学:DH 与 POE 两种建模、雅可比矩阵推导、数值/解析逆解方法与奇异性问题约束动力学:拉格朗日公式、牛顿—欧拉递归算法、接触/冲击模型、受约束系统的方程(拉格朗日乘子与互补性条件)每一节同时给出与练习题。假设读者已具备线性代数(矩阵、特征分解、SVD)、多变量微积分与基础力学(牛顿第二定律)知识。

u012133341的博客 185

Vue+iview---导出Excel功能的实现

背景   订餐系统前端使用的是vue框架,基于iview组件,对于一些查询性的数据具有导出Excel的功能。 方法介绍  1.整体介绍     2.正常导出功能(没有超过12位的数字)  2.1 导出按钮添加方法 &lt;Button type="primary" @click="exportData" style="float:right;margin-bottom:1...

愿历尽千帆,仍保持最初的热爱,奔赴每一场山海,一如既往鲜活而明亮~ 5962

国科大学习资料--模式识别与机器学习(黄庆明)--期末复习题2(含答案)

国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) 国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) 国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) ...

无名何许人的博客 1万+

【网络与爬虫 53】Scrapy-Prometheus实战指南:打造企业级爬虫监控体系的终极解决方案

本文深入探讨Scrapy-Prometheus集成技术,通过费曼学习法从监控痛点出发,详细讲解如何在Scrapy爬虫中集成Prometheus指标收集系统。涵盖从基础配置到企业级监控体系的完整实战指南,帮助开发者构建可观测性强、可维护性高的分布式爬虫监控平台,实现爬虫性能的精准监控和智能告警。

熵数实验室 1584

Vue+iview将表格table以excel文件导出的几种方式

前言 在日常工作中,若是经常跟后台管理系统打交道的朋友想必对导出excel表格这种需求肯定很熟悉吧。不过我也问了身边的一些岗位为后端工程师的朋友,他们说在公司的话一般导出excel表格的工作一般由后端来做,前端只需要调用接口即可。我的话,由前端导出或者后端导出的两种方式我都有做过,以此想记录一下,总结一下我是如何针对不同的方式将表格数据以excel的格式导出的。同时呢,若文章中有不足的地方,也欢迎大家的指正,相互学习~ 后端导出 如果你在工作中,导出excel表格这个工作主要放在后端的话,那么就会比较简单

Amelian的博客 6125

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Vue--表格导出excel(导出table表格所有数据)

还是继续前几天那个表格的需求,之前用纯前端做完了分页功能和筛选功能之后,我们再来完善一下一键导出Excel表格功能; 其实iview组件库的table部分也可以调用 exportCsv() 方法,可以将数据导出为 .csv 的表格文件,但是我们日常使用的是Excel .xlsx格式 的表格,因此仍需要用到插件来完成我们的需求。网上相关代码很多,但是目前这个是我见过最好理解方便的处理方式了。 一、 ...

weixin_44791115的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

vue+iview中的table表格导出excel表格

vue+iview中的table表格导出excel表格 一、iveiw框架中table中有exportCsv()方法可以导出.csv后缀文件,类似于excel文件,但是并不是excel文件。 二、实现table表格导出excel文件利用Blob.js 和 Export2Excel.js两个文件实现   1.Blob.js 和 Export2Exce...

qq_35859392的博客 2141

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

iview+vue实现表头的拖拽功能

一、项目需求: 需求:表格实现表头拖拽、排序、树形表格展示、下载Excel、下载CSV格式的数据 项目里用到的技术:iview的table+vue 参考文章:https://www.cnblogs.com/wisewrong/p/8820508.html 二、实现方法 Iview4.0版本已经可以实现树形表格展示的功能、下载CSV、排序功能,具体可参考官方文档 下边罗列一下拖拽和...

qq_41238459的博客 2006

iview table数据直接导出_vue+iview中的table表格导出excel表格

一、iveiw框架中table中有exportCsv()方法可以导出.csv后缀文件,类似于excel文件,但是并不是excel文件。二、实现table表格导出excel文件利用Blob.js 和 Export2Excel.js两个文件实现1.Blob.js 和 Export2Excel.js文件链接:https://pan.baidu.com/s/1PvP-NxmONNh71SRDvlL_9A ...

weixin_39777497的博客 1046

Vue+iView table分页勾选记忆功能

iView table组件checkbox跨页勾选记忆,及分页page相关使用采坑总结。

weixin_44794123的博客 6333

告别繁琐导出!iview-admin表格导出功能全解析:Excel、CSV一键生成

在日常管理系统开发中,数据导出是高频需求,但传统实现往往需要编写大量重复代码。iview-admin框架提供了开箱即用的表格导出功能,支持Excel和CSV格式一键生成。本文将从实际应用出发,详解其实现原理与使用方法,帮助开发者快速掌握这一高效工具。 ## 功能概览与核心优势 iview-admin的表格导出功能封装在[src/view/excel/export-excel.vue](http...

gitblog_00413的博客 800

vue+iview框架下导出Excel表格(改良版,可导出含有多个表的Excel文件)

vue+iview框架下导出Excel表格(改良版) 此小工具主要功能为将iview表格数据导出为Excel文件,并在之前的基础上可将多个表分页导出为一个Excel文件,如下图 下面是使用流程 首先先安装依赖 npm下 npm install -S file-saver xlsx npm install -D script-loader yarn下 yarn add file-saver ...

qq_43810251的博客 1836

iview 表格选中触发的事件

在后台管理系统写表格时,默认每行数据前都有一个选择按钮,一般是选择选中删除,因此,就有多选删除,单选删除,全选删除。 下面iview的文档说明: 通过给columns数据设置一项,指定type: 'selection',即可自动开启多选功能。 给 data 项设置特殊 key_checked: true可以默认选中当前项。 给 data 项设置特殊 key_disabled: true可以禁止选择当前项。 正确使用好以下事件,可以达到需要的效果: @on-select,选中某一项...

kk 2215

vue+iveiw表格选中数据导出excel表格

vue+iveiw表格选中项导出excel表格 ​ 因为业务的需求,表格类的数据需要我们前端方面进行导出数据转化成excel,前期Baidu碰壁,后来询问公司的大佬,结合他以前做过的东西,终于皇天不负有心人,导出excel Over!!! 一 、纯前端导出excel 表格导出需要的主要是两个依赖:(xlsx 和 file-saver) npm install --save xlsx file-saver 新建一个文件夹,或者在自己项目的工具文件夹里创建ExportExcel.js /* eslin

二九的博客 507
上一篇: 前端手机号脱敏和分隔
下一篇: 浏览器事件循环机制
codezha
博客等级 码龄10年 28粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值