elementui中的表格实现无限滚动

2023-11-10

背景

找了很多资料,发现elementui中的表格需要实现无限滚动,需要下载一个插件,然后再结合elementui中的无限滚动的属性一起搭配使用,才能有实现完整的功能。在目前网上,我没有看到实现完整功能的博客文章。于是,我在结合他们的方法,自己写了一个完整的方法,分享给大家,希望对大家有帮助。完整的代码解决了每次都滚动两次以及解决了到底了还一直执行函数的问题

同样,我们需要安装插件

npm install --save el-table-infinite-scroll

全局引用

import Vue from 'vue';
import elTableInfiniteScroll from 'el-table-infinite-scroll';

Vue.use(elTableInfiniteScroll);

局部引用

<script>
import elTableInfiniteScroll from 'el-table-infinite-scroll';
export default {
  directives: {
    'el-table-infinite-scroll': elTableInfiniteScroll
  }
}
</script>

以下是我结合elementui中无限滚动的infinite-scroll-disabled属性的完整代码

<el-table
	:data="loadItems"
	v-el-table-infinite-scroll="loadMoreData"
	infinite-scroll-disabled="disabled"
>
</el-table>
<script>
import elTableInfiniteScroll from "el-table-infinite-scroll";
export default {
  directives: {
    "el-table-infinite-scroll": elTableInfiniteScroll,
  },
  data() {
    return {
      i: 0,
	  dataItems:[{id:1},{id:2},{id:3},{id:4},{id:5},{id:6},{id:7},{id:8},{id:9},{id:10},{id:11}]
      loadItems: [],
      newArr: [],
      loading: false,
    };
  },
  created() {
	// 将数组切割成每份5个元素
    var arrLen = 5;
    for (var i = 0; i < this.dataItems.length; i += arrLen) {
      this.newArr.push(this.dataItems.slice(i, i + arrLen));
    }
  },
  methods: {
    loadMoreData() {
      if (!this.noMore) {
        this.loading = true;
        setTimeout(() => {
          this.loadItems = this.loadItems.concat(this.newArr[this.i]);
          this.loading = false;
          this.i++;
          if (this.i >= this.dataItems.length / 5) {
            this.$message.error("已经到底了");
          }
        }, 1000);
      }
    },
  }
  computed: {
    noMore() {
      return this.i >= this.dataItems.length / 5;
    },
    disabled() {
      return this.loading || this.noMore;
    },
  },
</script>

以上代码解决了每次都加载两次以及解决了加裁到底了还一直执行函数的问题。上面是数据写死的,如果需要调用接口的话,代码是需要改动的,这个时候就要发挥你们聪明的小脑袋了。(因为接口不方便透露,就把数据写死了。)方法是死的,人是活的,大家可以根据自己的情况更改代码,以实现功能。如果上面代码有什么问题,可以及时评论或者私聊我,方便我及时更正,谢谢大家配合~

可能会遇到的情况

  • 当表格的高度不足以产生滚动条的时候,就会自动执行一次loadMoreData()方法,为了撑高数据产生滚动条
  • 自动执行两次代码,添加计时器好像能够解决问题

(还有可能遇到的问题,后续会更新…)

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

elementui中的表格实现无限滚动 的相关文章

随机推荐

  • 现在公司都不缺人了?软件测试工作经历3年,居然被坑了?防不胜防!

    我的情况 大概介绍一下个人情况 女 本科 三年多测试工作经验 懂python 会写脚本 会selenium 会性能 然而到今天都没有收到一份offer 从年后就开始准备简历 年后上班的第一天就开始投 开始只是投了一些官网已久的岗位 并没有收
  • Keras中model.evaluate()返回的是 loss value & metrics values

    Keras官方文档 https keras io models model evaluate Keras中model evaluate 返回的是 损失值和你选定的指标值 例如 精度accuracy evaluate evaluate x N
  • Spring事务管理: 构建稳健的数据库事务处理

    博主猫头虎 带您 Go to New World 博客首页 猫头虎的博客 面试题大全专栏 文章图文并茂 生动形象 简单易学 欢迎大家来踩踩 IDEA开发秘籍专栏 学会IDEA常用操作 工作效率翻倍 100天精通Golang 基础入门篇 学会
  • SpringBoot入门到精通(四):整合JDBC和JPA

    整合JDBC JdbcTemplate JPA 当前环境说明 Windows10 64 Maven3 x JDK1 8 MySQL5 6 SpringToolSuite4 Spring官方提供的开发工具 实际就是一个Eclipse 一 整合
  • 必看!!!客户端requests与服务端request收发请求

    当使用代码进行接口访问的时候 请求的发送与请求的接受使用的参数应该怎么如何传输能够请求到正确的响应呢 一 使用GET请求发送 客户端与服务端的参数传输与接受 1 服务端 首先使用web框架写一个简单的接口 接收两个参数 page和size
  • 网络原理TCP/UDP

    文章目录 TCP TCP协议段格式 可靠机制 确认应答机制 超时重传机制 连接管理机制 建立连接 三次握手 断开连接 四次挥手 常见问题 效率机制 滑动窗口 流量控制机制 拥塞控制 延迟应答 捎带应答 粘包问题 应用层的数据包 TCP与UD
  • 源码(二进制)安装kuberbetes(k8s) (完整版-持续完善)

    环境配置 1 分别设置hostname hostnamectl set hostname master hostnamectl set hostname node01 hostnamectl set hostname node02 2 主机
  • 从42亿个不重复的4字节整数中判断一个数是否存在

    include
  • RuoYi项目中VUE表单修改表单中数据回显下拉选项或者单选出现异常

    若依项目中有一个功能就是字典 字典可以让我们不需要修改前端代码的情况下实现表单中下拉选项文字 单选 多选按钮的文字变更 但也会遇到各种各样的问题 后端传递的某个字段的值是数字类型的值 但是字典里面的确实字符串的值 不可能让后端传递字符串的值
  • OpenCV实现SfM(一):双目三维重建(包含SIFT特征点提取)

    三维重建介绍 三维重建是指根据基于一个视图或者多个视图所获得的物体或者场景的图像重建三维模型的过程 由于单视图的信息很单一 因此三维重建需要更复杂的算法和过程 相比之下 多视图的三维重建 模仿人类观察世界的方式 就比较容易实现 其方法是先对
  • Uni-App开发框架介绍

    Uni App开发框架介绍 1 Uni App简介 Uni App是一家公司 DCloud 产品 公司承诺将一直开源且免费 公司旗下有4个产品 HBuilder X 开发工具 uni app 跨平台统一框架 uniCloud 云服务提供商
  • 浏览器的事件轮询(消息轮询)

    目录 浏览器的进程模型 何为进程 何为线程 浏览器有哪些进程和线程 渲染主线程是如何 作的 相关问题 何谓异步 JS为什么会阻塞渲染 JS 中的计时器为什么无法精确计时 任务队列与优先级 浏览器的进程模型 何为进程 程序运 需要有它 专属的
  • 【AI with ML】第 11 章 :对序列模型使用卷积和递归方法

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 操作系统复习【南邮】

    声明 操作系统系列只针对南邮操作系统课程重点进行梳理 尽量不要作为考研复习资料 可能会有缺失之类 也恳请读者进行批评指正 共同进步 参考教材 操作系统教程 人民邮电出版社 黄刚 徐小龙 段卫华编著 2009 9
  • ChatGPT开源系列

    目录 进化树 从GPT 4 可以看出未来 LLM 的哪些趋势 未来的研发方向和优化策略是什么 模型 Stanford Alpaca 可以借鉴的点 llama cpp 验证阶段已完成 nebullvm chatllama 待定 可以借鉴的点
  • sql注入的分类总结

    前言 之前对联合查询 报错注入 布尔盲注 延迟注入 对这几种类型模糊不定 我也查阅了一些资料 做了一点总结 希望对大家有帮助 对于SELECT语句 我们通常分其为两种情况 有回显和无回显 有回显 什么是有回显 我们举个例子当我们看到一个ur
  • typedef struct语法解释

    C语言源代码 typedef char datatype typedef struct node datatype data struct node lchild rchild bintnode typedef bintnode bintr
  • Pytest系列-快速入门和基础讲解(1)

    前言 目前有两种纯测试的测试框架 pytest和unittest unittest应该是广为人知 而且也是老框架了 很多人都用来做自动化 无论是UI还是接口 pytest是基于unittest开发的另一款更高级更好用的单元测试框架 单元测试
  • 上最简单的SpringCloud教程

    上一篇文章 讲述了如何通过RestTemplate Ribbon去消费服务 这篇文章主要讲述如何通过Feign去消费服务 一 Feign简介 Feign是一个声明式的伪Http客户端 它使得写Http客户端变得更简单 使用Feign 只需要
  • elementui中的表格实现无限滚动

    背景 找了很多资料 发现elementui中的表格需要实现无限滚动 需要下载一个插件 然后再结合elementui中的无限滚动的属性一起搭配使用 才能有实现完整的功能 在目前网上 我没有看到实现完整功能的博客文章 于是 我在结合他们的方法