【el-table滾動事件】el-table表格滾動時,獲取可視窗口內的行數據

一個簡單的獲取內容的辦法
表格部分,主要是ref寫一下

 <el-table :data="tableData" ref="tableRef"> </el-table>

進入頁面的時候綁定監聽

mounted(){
// 綁定滾動事件this.$nextTick(() => {const table = this.$refs.tableRef;const scrollBody = table.$el.querySelector(".el-table__body-wrapper");// 1. 手動綁定滾動事件scrollBody.addEventListener("scroll", this.fangdou);// 2. 初始計算一次可視行this.fangdou();// 3. 監聽窗口變化(可選)window.addEventListener("resize", this.fangdou);});
}

函數部分,增加了一層防抖。滾動停止再執行,不然執行的太頻繁了

邏輯就是算出可視區域的高度,然后行要固定高,每行的高度你算一下或者寫個固定的多少,這樣就可以通過可視高度/行高得到,目前一次能拿到多少條。然后通過滾動條到頂部的位置距離,算出已經滾動過去多少個了,最后算出來的數量在表格內數組里抽數據

methods(){fangdou(e) {// 清除之前的定時器if (this.scrollTimer) clearTimeout(this.scrollTimer);// 設置新的定時器(延遲500ms執行)this.scrollTimer = setTimeout(() => {this.handleScroll();}, 500);},handleScroll() {const table = this.$refs.tableRef;const scrollBody = table.$el.querySelector(".el-table__body-wrapper");// 獲取滾動位置和可視區域高度const scrollTop = scrollBody.scrollTop;const visibleHeight = scrollBody.clientHeight;// 計算起始行和結束行索引const startIndex = Math.floor(scrollTop / 50);const endIndex = Math.min(startIndex + Math.ceil(visibleHeight / 50), this.tableData.length - 1);// 獲取可視行數據const visibleRows = this.tableData.slice(startIndex, endIndex);this.wdArr = [];visibleRows.forEach((item) => {// 未讀狀態,并有考核的數據才查看是否已讀if (item.is_read !== 1 && item.khf) {this.wdArr.push(item.id);}});// 這里寫你要做的事if (this.wdArr.length > 0) {this.edit_read();}},
}

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

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

相關文章

OCR 賦能自動閱卷:讓評分更高效精準

考試閱卷中&#xff0c;OCR 技術正成為高效助手&#xff0c;尤其在客觀題和標準化答題場景中表現亮眼。將考生答題卡掃描后&#xff0c;OCR 能快速識別填涂的選項、手寫數字或特定符號&#xff0c;與標準答案比對后自動判分。相比人工閱卷&#xff0c;它能在短時間內完成成百上…

在docker中安裝frp實現內網穿透

服務端frps 1.首先在服務器端安裝frps docker pull snowdreamtech/frps2.本地創建frps的配置文件frps.ini [common] bind_port 7000 # frp 服務端控制端口 token xxxxx # 客戶端認證密鑰3.啟動frps docker run -d --name frps \ --network host \ --restartalwa…

電腦開機后網絡連接慢?

在數字化日益普及的今天&#xff0c;電腦已成為我們工作和生活中不可或缺的工具。但是&#xff0c;可能很多用戶都遇到過電腦開機后網絡連接慢的情況&#xff0c;這不僅影響了我們的工作效率&#xff0c;還極大降低了上網體驗。怎么解決該問題呢&#xff1f;本文分享的這5個方法…

一分鐘部署一個導航網站

先看效果1.部署教程 mkdir -p /home/ascendking/mysite cd /home/ascendking/mysite# 安裝 WebStack-Hugo 主題git clone https://gitee.com/WangZhe168_admin/WebStack-Hugo.git themes/WebStack-Hugo# 將 exampleSite 目錄下的文件復制到 hugo 站點根目錄 cd /home/ascendki…

Rust實現微積分與高等數學公式

基于Rust實現高等數學中微積分 以下是基于Rust實現高等數學中微積分相關公式的示例整理,涵蓋微分、積分、級數等常見計算場景。內容分為基礎公式和進階應用兩類,提供可直接運行的Rust代碼片段(需依賴num或nalgebra等庫)。 微分運算 導數的數值近似(前向差分) 適用于函…

Android 鍵盤

基礎知識1. 物理鍵盤&#xff08;Physical Keyboard&#xff09;定義物理鍵盤指的是設備上真實存在的、可以按壓的鍵盤。例如&#xff1a;早期的 Android 手機&#xff08;如黑莓、摩托羅拉 Milestone&#xff09;自帶的 QWERTY 鍵盤外接的藍牙/USB 鍵盤平板或 Chromebook 上的…

SuperClaude Framework 使用指南

SuperClaude Framework 使用指南SuperClaude Framework 是一個開源配置框架&#xff0c;將 Claude Code 從通用 AI 助手轉變為專業的上下文感知開發伙伴。該框架通過模板驅動架構應用軟件工程原理&#xff0c;為專業軟件開發工作流程提供了強大的增強功能。目前該項目處于 v3.0…

Ruby 發送郵件 - SMTP

Ruby 發送郵件 - SMTP 在互聯網的世界中,郵件服務已經成為我們日常生活中不可或缺的一部分。而在開發過程中,使用Ruby發送郵件是一項基本技能。SMTP(Simple Mail Transfer Protocol)是互聯網上用于發送電子郵件的標準協議。本文將詳細介紹如何在Ruby中使用SMTP發送郵件。 …

Docker運行Ollama

1.docker-compose啟動ollama 按照 ollama docker-compose配置說明 配置并啟動ollama容器&#xff0c;啟動成功后&#xff0c;瀏覽器訪問 http://localhost:11434 如果顯示如下即代表成功 如果你的服務器支持GPU&#xff0c;可添加GPU參數支持&#xff0c;參考&#xff1a;htt…

輕松管理 WebSocket 連接!easy-websocket-client

在前端開發中&#xff0c;WebSocket 是實現實時通信的核心技術&#xff0c;但原生 WebSocket 的連接管理&#xff08;如斷連重連、心跳維護、事件監聽&#xff09;往往需要編寫大量重復代碼。今天給大家分享一個好用的 WebSocket 連接管理庫 —— easy-websocket-client&#x…

人工智能賦能社會治理:深度解析與未來展望

一、核心應用場景與技術實現1. 公共安全&#xff1a;智能防控與風險預警技術應用&#xff1a;立體化治安防控&#xff1a;AI攝像頭集成人臉識別、行為分析、多目標追蹤技術&#xff0c;提升破案率與公共安全能力。例如&#xff0c;深圳某區通過AI系統使盜竊案件破案率提升40%。…

解決使用vscode連接服務器出現“正在下載 VS Code 服務器...”

# 解決使用vscode連接服務器出現“正在下載 VS Code 服務器...”## 首先在vscode的輸出中獲取 commit idtext [17:17:41.679] Using commit id "c306e94f98122556ca081f527b466015e1bc37b0" and quality "stable" for server 從上面的體制中可以看出&#…

React 項目中使用 Redux 實現公共狀態共享

在 React 項目中使用 Redux 實現公共下拉選狀態共享并通知各組件更新的完整方案如下&#xff1a;1. 安裝 Redux 必要依賴 npm install reduxjs/toolkit react-redux2. 創建 Redux Store 和 Slice store/selectSlice.js import { createSlice } from reduxjs/toolkit;const init…

徹底清理ArcGIS 10.2殘留的步驟

文章目錄前言一、徹底清理ArcGIS 10.2殘留的步驟總結前言 提示&#xff1a;這里可以添加本文要記錄的大概內容&#xff1a; 提示&#xff1a;以下是本篇文章正文內容&#xff0c;下面案例可供參考 一、徹底清理ArcGIS 10.2殘留的步驟 &#x1f527; 徹底清理ArcGIS 10.2殘留的…

JDK主流版本及推薦版本

根據當前Java生態發展&#xff08;截至2025年7月&#xff09;&#xff0c;結合主流企業實踐、技術特性和支持周期&#xff0c;以下是JDK主流版本及推薦版本的詳細分析&#xff1a;&#x1f9e9; 一、主流JDK版本現狀??JDK 8 (LTS)????使用比例??&#xff1a;約30-35%&a…

如何從 Web2 轉型到 Web3

如何從 Web2 轉型到 Web3如何從 Web2 轉型到 Web3引言Web2 與 Web3 的核心差異轉型的實用步驟1. 打基礎&#xff1a;學區塊鏈和 Web3 概念2. 學核心技術棧&#xff1a;從 Solidity 到 dApp3. 重新設計產品&#xff1a;混合模式起步4. 應對坑&#xff1a;技術、監管和安全5. 建社…

RuoYi-Vue 項目 Docker 容器化部署 + DockerHub 上傳全流程

本文詳細記錄本人在實際項目從 RuoYi-Vue 二次開發到 Docker 鏡像打包、DockerHub 上傳、異地一鍵部署的完整實戰全過程。涵蓋前后端打包產物準備、SQL初始化、docker-compose 管理、DockerHub 鏡像上傳、Gitee 代碼管理、子模塊大坑、數據庫404等所有可能出錯細節&#xff0c;…

【C語言進階】題目練習

目錄 1.箭形圖案 思路&#xff1a; 代碼&#xff1a; 2. 公務員面試 分析&#xff1a; 代碼 &#xff1a; 3. 判斷結構體大小&#xff08;1&#xff09; 答案&#xff1a; 分析&#xff1a; 4.判斷結構體大小&#xff08;2&#xff09; 答案: 分析: 5.宏定義計算…

Blender入門筆記——建模篇(二)

前言 在數字建模的世界中&#xff0c;快捷鍵和高效的操作是提高工作效率的關鍵。本手冊為您提供了常用的建模快捷鍵及操作技巧&#xff0c;幫助您在各種建模軟件中更加得心應手。無論是進行點、線、面操作&#xff0c;還是調整視圖、切換模式&#xff0c;這些快捷方式都將成為…

sqlite3學習---基礎知識、增刪改查和排序和限制、打開執行關閉函數

目錄 一、數據庫基礎知識 1.分類 2.名詞 3.嵌入式數據庫 4.特點 5.sqlite3的安裝 5.1在線安裝 5.2編譯 5.3驗證是否安裝成功 5.4sqlite3的使用 6.創建一個數據庫 7.系統維護命令 二、數據庫的創建和刪除 1.創建一個表 1.1用法 1.2代碼示例 2.刪除一個表 2.1用…