element-ui表格跨頁選擇數據

element-ui表格跨頁選擇

    • 1.template部分
    • 2.js部分
    • 3.全部代碼

1.template部分

  • 為table組件添加ref=‘table’
  • 綁定數據源 :data=‘list’
  • 添加select和select-all事件(事件處理函數為handleSelect)
<template><div><el-table ref='table' :data="list" max-height="600"@select="handleSelect" @select-all='handleSelect'><el-table-column fixed="left" type="selection" width="55" align="center" /><el-table-column label="商品名稱" align="center" prop="name" min-width="200" /><el-table-column label="商品條碼" align="center" prop="id" min-width="180" /><el-table-column label="商品單位" align="center" prop="unit" min-width="180" /></el-table></div>
</template>

2.js部分

  • 在data函數中定義全局選中數據的變量allIds
  • 在data函數中定義數據源的變量list
<script>export default {data() {return {allIds: [],//當前選中數據的id數組list: [], //表格數據源}}}
</script>
  • 請求列表數據,并根據allIds判斷當前列表中是否有選中的數據,如果有則默認選中
<script>export default {data() {return {allIds: [],//當前選中的數據list: [], //表格數據源}},created() {this.getList()},methods: {getList() {axios.get('xxxxx').then(res => { //模擬數據請求this.list = response.data.rows; //數據源//循環數據列表,判斷當前數據的id是否存在于allIds中,如果存在則默認選中this.$nextTick(() => {this.list.map((item) => {if(this.allIds.includes(item.id)) {this.$refs.table.toggleRowSelection(item,true)}})})})}}}
</script>
  • handleSelect事件函數的實現
    監聽單選、全選事件
    判斷allIds數據里面是否包含當前分頁的數據,如果包含,則將當前頁面數據的id從allIds 里刪除
    然后將當前頁選中的數據重新push到allIds數組里
<script>export default {methods: {// 跨頁選擇handleSelect(selection) {let allIds = [...this.allIds];let delIds = this.list.map(item => item.id);for(let i = 0; i < this.allIds.length; i++) {let id = allIds[i];if(delIds.includes(id)) {allIds.splice(i,1);i--;}}selection.map(item => {if(!allIds.includes(item.id)) {allIds.push(item.id)}})this.allIds = [...allIds]}}}
</script>

3.全部代碼

<template><div><el-table ref='table' :data="list" max-height="600"@select="handleSelect" @select-all='handleSelect'><el-table-column fixed="left" type="selection" width="55" align="center" /><el-table-column label="商品名稱" align="center" prop="name" min-width="200" /><el-table-column label="商品條碼" align="center" prop="id" min-width="180" /><el-table-column label="商品單位" align="center" prop="unit" min-width="180" /></el-table></div>
</template><script>export default {data() {return {allIds: [],//當前選中的數據list: [], //表格數據源}},created() {this.getList()},methods: {getList() {axios.get('xxxxx').then(res => { //模擬數據請求this.list = response.data.rows; //數據源//循環數據列表,判斷當前數據的id是否存在于allIds中,如果存在則默認選中this.$nextTick(() => {this.list.map((item) => {if(this.allIds.includes(item.id)) {this.$refs.table.toggleRowSelection(item,true)}})})})},// 跨頁選擇handleSelect(selection) {let allIds = [...this.allIds];let delIds = this.list.map(item => item.id);for(let i = 0; i < this.allIds.length; i++) {let id = allIds[i];if(delIds.includes(id)) {allIds.splice(i,1);i--;}}selection.map(item => {if(!allIds.includes(item.id)) {allIds.push(item.id)}})this.allIds = [...allIds]}}}
</script>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/23768.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/23768.shtml
英文地址,請注明出處:http://en.pswp.cn/web/23768.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

qmt量化交易策略小白學習筆記第17期【qmt編程之獲取對應周期的北向南向數據--方式1:內置python】

qmt編程之獲取對應周期的北向南向數據 qmt更加詳細的教程方法&#xff0c;會持續慢慢梳理。 也可找尋博主的歷史文章&#xff0c;搜索關鍵詞查看解決方案 &#xff01; 感謝關注&#xff0c;咨詢免費開通量化回測與獲取實盤權限&#xff0c;歡迎和博主聯系&#xff01; 獲取…

java+SimpleRegression 線性模型,針對采集到的大數據設備溫度,對設備溫度做出預測

首先,讓我們通過以下表格展示預測模型開發 Java 的整體流程: 步驟 描述 1 數據收集與清洗 2 特征工程處理 3 模型選擇與訓練 4 模型評估與調優 5 模型應用與部署 然后引入java的類庫 org.apache.commons.math3 math使用原則 math3可謂是輕量級自容器…

小程序開發平臺版源碼系統——社區論壇小程序功能 帶完整的安裝代碼包以及搭建教程

系統概述 這款社區論壇小程序源碼系統是一款功能強大、易于使用的開發平臺版源碼系統。它采用先進的技術架構&#xff0c;結合了豐富的功能模塊&#xff0c;能夠滿足不同用戶的需求。該系統具有高度的可擴展性和靈活性&#xff0c;能夠根據用戶的需求進行定制化開發&#xff0…

【ffmpeg】本地格式轉換 mp4轉wav||裁剪mp4

個人感受&#xff1a;太爽了&#xff01;&#xff01;&#xff01;&#xff08;可能用慣了轉換網站和無良的轉換軟件&#xff09; ———— 使用FFmpeg把mp4文件轉換為WAV文件 - 簡書 (jianshu.com) FFMPEG 視頻分割和合并 - 簡書 (jianshu.com) ———— 示例 ffmpeg -i …

Qwen2開源發布!0.5B到72B,顯著提升!

Qwen2是一個開源的自然語言處理模型&#xff0c;它從0.5B到72B參數規模的顯著提升&#xff0c;代表著自然語言處理技術的重大進步。Qwen2的發布&#xff0c;意味著我們可以期待模型在各項自然語言處理任務上&#xff0c;如文本生成、文本分類、機器翻譯等&#xff0c;都會有更加…

Qt 窗口居中顯示

Qt 窗口居中顯示 引言一、窗體的setGeometry函數二、計算屏幕中心然后move三、借助QRect計算四、補充知識點 引言 窗口居中可以提供良好的視覺效果、突出重點內容、提升用戶導航和操作的便利性&#xff0c;有助于改善用戶體驗。 Qt一般情況下&#xff0c;其Mainwindow或彈出的…

咖啡機器人如何精準控制液位流量

在如今快節奏的生活中&#xff0c;精確控制液位流量的需求愈發迫切&#xff0c;特別是在咖啡機器人等精密設備中。為了滿足這一需求&#xff0c;工程師們不斷研發出各種先進的技術&#xff0c;以確保液體流量的精準控制。其中&#xff0c;霍爾式流量計和光電式流量計就是兩種常…

【Spring Cloud】Gateway 服務網關核心架構的執行流程和斷言

文章目錄 基本概念執行流程斷言內置路由斷言工廠自定義路由斷言工廠 總結 基本概念 路由(Route)是gateway中最基本的組件之一&#xff0c;表示一個具體的路由信息載體。主要定義了下面的幾個信息&#xff1a; id&#xff1a;路由標識符&#xff0c;區別于其他Route。uri&…

論文合集整理推薦2024.6.4

論文合集整理推薦2024.6.4 原創 小王搬運工 時序課堂 2024-06-04 20:12 四川 ?2012年論文合集&#xff1a;論文入口 ?2019年論文合集&#xff1a;論文入口 2021年論文合集&#xff1a;論文入口 2022年論文合集&#xff1a;論文入口 2023年論文合集&#xff1a;論文入口…

carbondata入庫數據查詢異常排查

1&#xff0c;背景&#xff1a;carbondata的入庫segments對應的狀態都是success&#xff0c;但是查詢的時候報錯&#xff0c; 2&#xff0c;排查內容 1&#xff0c;segments的狀態 success 2&#xff0c;任務執行記錄日志 正常 3&#xff0c;找到對應查詢的天&#xff0c;指定對…

8255A-LED

DATA SEGMENTPORTA EQU 280H ;A端口地址PORTB EQU 281H ;B端口地址PORTD EQU 283H ;命令口地址 DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX, DATAMOV DS, AXMOV DX, PORTDMOV AL, 10010000BOUT DX,ALMOV DX, 281H MOV AL, 00HOUT DX, ALWAIT1:MOV DX, POR…

【JavaEE精煉寶庫】多線程(4)深度理解死鎖、內存可見性、volatile關鍵字、wait、notify

目錄 一、死鎖 1.1 出現死鎖的常見場景&#xff1a; 1.2 產生死鎖的后果&#xff1a; 1.3 如何避免死鎖&#xff1a; 二、內存可見性 2.1 由內存可見性產生的經典案例&#xff1a; 2.2 volatile 關鍵字&#xff1a; 2.2.1 volatile 用法&#xff1a; 2.2.2 volatile 不…

C/C++ 檢測文件是否存在的方法

在C和C中&#xff0c;檢測文件是否存在的方法通常涉及到平臺特定的API或者使用標準庫的功能&#xff08;在C17及以后版本中&#xff09;。以下是幾種常見的方法&#xff1a; C 在C中&#xff0c;通常使用POSIX標準&#xff08;在Unix-like系統上&#xff09;或Windows API&am…

PostgreSQL的視圖pg_stat_user_tables

PostgreSQL的視圖pg_stat_user_tables pg_stat_user_tables 是 PostgreSQL 中的一個系統視圖&#xff0c;用于顯示用戶定義的表的統計信息。這些統計信息包括表的訪問情況、修改情況以及很多其他的性能指標。這個視圖為數據庫管理員提供了豐富的數據&#xff0c;可以幫助他們進…

使用 Scapy 庫編寫 ICMP 時間戳攻擊腳本

一、介紹 ICMP時間戳攻擊&#xff08;ICMP Timestamp Attack&#xff09;是一種利用ICMP協議中的Timestamp請求和響應消息來實施的攻擊。攻擊者發送大量的ICMP Timestamp請求消息到目標主機&#xff0c;以觸發目標主機對每個請求進行響應&#xff0c;從而消耗目標系統的網絡資…

Codeforces Round 950 (Div. 3)

好久沒寫題解了&#xff0c;今天來寫個題解。 A - 問題 Generator #include "bits/stdc.h" using namespace std;#define int long long #define endl \n #define IOS ios::sync_with_stdio(0),cin.tie(0); #define all(x) x.begin(),x.end() #define pi pair<in…

【Linux】(一)——Linux基礎和Linux命令基礎語法

目錄 Linux基礎Linux發行版本Linux終端Linux命令 Linux基礎 Linux&#xff0c;通常指的是GNU/Linux操作系統&#xff0c;這是一個開源且免費使用的類UNIX操作系統。它的核心組件——Linux內核&#xff0c;由林納斯托瓦茲&#xff08;Linus Torvalds&#xff09;在1991年10月5日…

Arthas使用教程——JVM常用命令

JVM相關命令 dashboard——當前系統的實時數據面板 顯示當前 tomcat 的實時信息。 使用方式&#xff1a;dashboard 數據說明 ID: Java 級別的線程 ID&#xff0c;注意這個 ID 不能跟 jstack 中的 nativeID 一一對應。 NAME: 線程名 GROUP: 線程組名 PRIORITY: 線程優先級…

Rocky Linux安裝與基礎配置

目錄 背景與起源 主要特點 目標用戶 發展前景 下載 安裝 常用配置命令&#xff1a; 更換鏡像源 Rocky Linux 是一個開源的、由社區驅動的操作系統&#xff0c;旨在使用 Red Hat Enterprise Linux&#xff08;RHEL&#xff09;源碼構建的下游二進制兼容發行版。以下是關于…

優思學院|一文看懂新版FMEA與FMEA的七大步驟

FMEA的起源 FMEA最早起源于20世紀40年代的美國軍工行業。當時&#xff0c;美國軍方為了提高武器系統的可靠性和安全性&#xff0c;開始使用FMEA來識別和評估潛在的故障模式及其影響。1949年&#xff0c;美國軍方發布了《軍用程序手冊》&#xff08;Military Procedures Handbo…