element-ui中的el-table滚动加载事件

2023-05-16

问题描述:当表格数据量过多,一次请求回来会很卡,同时又不想分页的情况下,我们想让鼠标滚动到表格底部时再去请求数据。

解决思路:项目用的是element-ui的框架,给el-table添加一个滚动事件,计算滚动条到顶部的距离,容器的高度,以及滚动内容的高度,当 滚动条到顶部的距离+容器的高度=滚动内容的高度时请求数据。注:如果容器有padding和margin的话需要相应增减。

我试过直接在el-table 上加@scoll事件是不生效的,在网上查阅资料后解决方案如下:

1.给table一个ref属性。

2.监听scroll事件。

this.$refs.multipleTable.bodyWrapper.addEventListener('scroll', (res) => {

    let height = res.target;

    let clientHeight = height.clientHeight;
    let scrollTop = height.scrollTop;
    let scrollHeight = height.scrollHeight;

    if(clientHeight + scrollTop + 300 > scrollHeight){
        console.log(clientHeight + scrollTop);
        console.log(scrollHeight);
    }

},true);
复制代码

因为组件中的table是由几个table组合起来的,所以取值时this.$refs.multipleTable.bodyWrapper这样写才能获取到dom节点。

这样大致就可以实现功能了。

过程中遇到个问题

this.$refs.multipleTable.bodyWrapper.addEventListener('scroll', () => {


    let clientHeight = this.clientHeight;
    let scrollTop = this.scrollTop;
    let scrollHeight = this.scrollHeight;

    if(clientHeight + scrollTop + 300 > scrollHeight){
        console.log(clientHeight + scrollTop);
        console.log(scrollHeight);
    }

},true);
复制代码

之前是这样写的,this.clientHeight,this.scrollTop,this.scrollHeight这几个值都能取到,但是赋值却赋不了,没找到是什么原因。

转载于:https://juejin.im/post/5c46e514e51d45518c680388

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

element-ui中的el-table滚动加载事件 的相关文章

  • 如何从Python列表中删除所有重复元素?

    我有一个这样的清单 1 2 3 4 3 5 3 6 7 8 我想从列表中完全删除重复元素 此处 3 如下所示 1 2 4 5 6 7 8 如何在 python 中实现这一点 以便不仅删除第一次出现的重复元素 而且删除所有重复值 您可以使用C
  • 获取 DOM 节点的字符串表示形式

    Javascript 我有一个节点 元素或文档 的 DOM 表示 我正在寻找它的字符串表示 例如 var el document createElement p el appendChild document createTextNode
  • 如何通过类名获取同级元素,然后仅使用 Javascript 隐藏它?

    我有这个 html 结构 div div div class content div 我想隐藏名为的类的元素content给定同级元素 id 为xyz 在 jQuery 中我可以轻松地这样做 xyz siblings content css
  • 仅将混合模式应用于投影

    可以混合吗only元素的投影与它重叠的元素的颜色 例如 我有一个元素与另一个元素重叠 顶部的元素有一个浅灰色的阴影 下面的元素是黑色的 我不希望对任何一个元素本身应用任何混合 但希望重叠元素 的投影与下面元素的颜色混合 在阴影落在重叠元素上
  • 获取缩放散点图中的面积或元素

    我有以下问题 我想放大散点图 然后选择所有显示的元素 以某种方式获得放大散点图中的显示区域就足够了 从该区域的范围我可以确定哪些元素显示在该区域中 哪些不显示 edit 找到解决方案 实现 AxisChangeListener 接口 imp
  • Joomla 2.5 Jquery 无法调用 null 的方法

    大家好 我正在使用 Joomla 2 5 和 Jquery 我在 chrome 控制台中遇到了这个奇怪的错误 Uncaught TypeError Cannot call method slideUp of null 这是index php
  • HTML 元素过多会影响页面性能吗?

    我想知道两者之间是否有区别 1 10 000 个可见的表行 2 使用 display none 隐藏 10 000 个表格行 我想知道的是 如果页面上所有 10 000 行都可见 是否会导致页面滚动滞后 但如果我隐藏其中的 9000 个 这
  • TYPO3:如何在后端添加css和JS

    我该如何添加css and javascript后端有文件吗 我想将这些文件用于自定义创建的内容元素以使它们对用户更具吸引力 System TYPO3 v9 Mode 作曲家模式 Target 自定义内容元素 在 TYPO3 v9 中 您必
  • 在 JavaScript 中从对象创建 DOM 元素

    嗨 我试图了解如何制作 Dom elemnt 比如说 div 形成我的数据对象 我做了一个这样的对象 var div style width Math floor Math random 100 height Math floor Math
  • 获取显示器内部元素的大小:无父级

    我正在尝试获取将在 jquery ui 对话框中显示的元素的宽度 该对话框设置为在加载时显示 无 这不允许我获得宽度 我是否需要显示它 获取宽度并立即再次隐藏它以获取宽度 或者还有其他我不知道的选择吗 Thanks 您有两个选择 如果你的
  • 删除 XML 节点

    我有一个 XML 文件 其中包含
  • 如何在Python中删除两个numpy数组的重复元素

    我有两个数组命名 u v 例如 u np array 1 0 2 0 2 0 3 0 4 0 v np array 10 0 21 0 18 0 30 0 40 0 a np array 100 0 210 0 220 0 300 0 40
  • JQuery 选择框和循环帮助

    谢谢阅读 我对 jQuery 有点陌生 我正在尝试制作一个可以包含在我所有网站中的脚本来解决一个总是让我发疯的问题 问题 带有长选项的选择框在 Internet Explorer 中会被截断 例如 这些选择框 http discoverfi
  • 两个自定义(角度)元素之间的通信

    两个自定义 角度 元素之间的通信 假设有两个自定义元素 login button
  • Lua:“拖动”数组中的元素序列

    我正在尝试创建一个函数 将连续数量的元素 拖动 到数组中的新位置 并限制为数组的当前大小 其他项目应该围绕 拖动 的项目晃动 例如 如果我的数组有 7 个元素 并且我想拖动中间的三个 1 2 3 4 5 6 7 lt keys a b C
  • Octave/Matlab:向向量添加新元素

    有一个向量x我必须添加一个元素 newElem 有什么区别吗 x end 1 newElem and x x newElem x end 1 newElem更稳健一些 x x newElem 仅当x是行向量 如果它是列向量x x newEl
  • 使用 querySelector 通过 InnerHTML 选择元素

    有没有办法通过innerHTML选择一个元素而不使用循环 可以使用类似的东西来完成吗 document querySelector div innerHTML Sometext or document querySelector div t
  • 如何在批处理中返回数组的元素?

    我的程序中的数组列表中有两个元素 如何将变量分配给等于其中一个元素 这是代码 echo off setlocal enabledelayedexpansion set p string for l a in 0 1 1000 do if n
  • Ant Macrodef:有没有办法获取元素参数的内容?

    我正在尝试在 Ant 中调试宏定义 我似乎找不到一种方法来显示作为元素发送的参数的内容
  • 如何解决 TypeError: element_to_be_clickable() 需要 1 个位置参数?

    我收到错误TypeError element to be clickable takes 1 positional argument but 2 were given当我运行以下代码时 from selenium webdriver chr

随机推荐

  • 云计算的弹性

    云计算最大的优势就在于弹性 目前 xff0c 阿里云已拥有在数分钟内开出一家中型互联网公司所需要的IT资源的能力 xff0c 这就能够保证大部分企业在云上所构建的业务都能够承受巨大的业务量压力 计算弹性 纵向的弹性 xff0c 即单个服务器
  • LACP 详解

    一 LACP简介 1 LACP协议简介 基于 IEEE802 3ad 标准的LACP xff08 Link Aggregation Control Protocol xff0c 链路汇聚控 制协议 xff09 是一种实现链路动态汇聚与解汇聚
  • 串口发送数据

    关于串口发送数据 自己以前呢是这样 void Usart Out Char unsigned char c uint32 t cnt while cnt USART SendData USART1 c 43 43 while USART G
  • Spring 启动分析(1)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Spring MVC 启动记录 xff08 1 xff09 1 默认的初始化就是一个DispatchServlet xff0c 这个serlet的初始化过程就是整个spri
  • ubuntu安装xfce_在Ubuntu Linux上安装Xfce(Xubuntu)

    ubuntu安装xfce Ubuntu by default includes the Gnome desktop environment but it s easy enough to install another window man
  • 缓存详解

    前言 总括 xff1a 缓存从来都是前端的一个痛点 xff0c 很多前端搞不清楚缓存到底是何物 xff0c 从而给自己创造了一些麻烦 xff0c 本文一如既往的用通俗易懂的文字和实例来讲述缓存 xff0c 希望能让您有所得 原文博客地址 x
  • JAVA URL协议扩展支持HDFS

    为什么80 的码农都做不了架构师 xff1f gt gt gt 问题 xff1a 最近在做自然语言处理的时候 使用了谢菲尔德大学的Gate 奈何Gate只能从本地文件读取配置和语义文件 特将此改造成从HDFS读取 并且和Spark集成起来
  • Docker搭建MySQL服务

    Docker开源镜像 前面我们已经安装好了Docker xff0c 也简单了解了Docker 那么我们可以尝试搭建一个MySQL服务 要搭建服务就要启动服务容器 xff0c 要创建容易就要有镜像 xff0c Docker提供了一个类似Git
  • LACP链路聚合-基础篇

    一 基本概念 系统LACP优先级系统LACP优先级是为了区分两端设备优先级的高低而配置的参数 LACP模式下 xff0c 两端设备所选择的活动接口必须保持一致 xff0c 否则链路聚合组就无法建立 此时可以使其中一端具有更高的优先级 xff
  • Ubuntu apt 使用代理

    由于一台 Ubuntu 主机无法直接连接外网 xff0c 但同内网的另一台 Windows 主机可以连接外网 xff0c 于是在 Win 主机上搭建了代理服务 xff0c 使 Ubuntu 主机通过代理更新系统 记录配置 apt 代理的方式
  • CIDR概述及其地址块计算

    CIDR概述 英文 xff1a Classless Inter Domain Routing xff0c 中文是 xff1a 无分类域间路由选择 一般叫做无分类编址 设计目的 xff1a 解决路由表项目过多过大的问题 表示法 xff1a l
  • Python基础之元组

    元组初识 元组的认识 首先 xff0c 我们来认识一下元组 xff1a 定义一个元组 uesr tuple 61 34 zhangsan 34 34 lisi 34 34 wangwu 34 定义一个空元组 empty tuple 61 元
  • 函数声明后面的const用法

    void function const 通常我们会看到一些函数声明后面会跟着一个const xff0c 这个const是做什么的呢 xff1f 看一下下面的例子 xff0c 就知道了 直接在编译前 xff0c 就会提示下面的两个错误 tes
  • 修复移动硬盘"文件或目录损坏且无法读取"

    今天使用移动硬盘的时候强制拔掉了数据线 xff0c 再此连上之后发现原来的F G H三个盘的盘符都在 xff0c 但是F盘只有盘符 xff0c 双击之后提示 34 文件或目录损坏且无法读取 34 而这个盘有我70G的数据 于是上网查资料 x
  • 维基百科的网址(没被墙)

    https en wikipedia org wiki Main Page
  • 初学者计算机_初学者极客:更改笔记本计算机盒盖时Windows的功能

    初学者计算机 Mihai Simonia Shutterstock com Mihai Simonia Shutterstock com Are you tired of your laptop automatically going to
  • 想要恢复回收站误删文件,就用EasyRecovery!

    不知道大家在日常工作中遇到回收站误删文件的情况吗 xff1f 遇到这样的情况 xff0c 不要慌张 xff0c 可以借助专业的数据恢复软件来处理 EasyRecovery软件是由全球著名数据厂商Kroll Ontrack出品的数据恢复软件
  • ubuntu 设置root用户密码并实现root用户登录

    一 xff1a 设置root用户密码 在ubuntu中root用户的密码是随机的 xff0c 所以需要我们自己起设置root用户的密码 在终端命令行中执行 sudo passwd 这时候会提示你输入当前用户密码 xff0c 输入成功之后 x
  • electron制作聊天界面(仿制qq)

    效果图 样式使用scss和flex布局 这也是制作IM系统的最后一个界面了 在制作之前参考了qq和千牛 需要注意的点 qq将滚动条美化了 而且在无操作的情况下是不会显示的 滚动条美化 webkit scrollbar 滚动条整体样式 wid
  • element-ui中的el-table滚动加载事件

    问题描述 xff1a 当表格数据量过多 xff0c 一次请求回来会很卡 xff0c 同时又不想分页的情况下 xff0c 我们想让鼠标滚动到表格底部时再去请求数据 解决思路 xff1a 项目用的是element ui的框架 xff0c 给el